Jssor slider - 如何销毁并重新创建具有不同内容的 Jssor slider

2023-12-09

我正在尝试使用 Jssor 滑块根据所选类别及其子类别显示不同的 HTML 内容。我成功地为一个子类别创建了内容滑块,但我不知道如何销毁当前滑块并使用通过 Ajax 加载的不同内容重新创建它。子类别中的项目数量有所不同,因此据我了解 - 更改当前幻灯片不是一种选择。

所以,我的问题是 - 如何销毁当前的 Jssor 滑块并为新的滑块让路?


扩展 @Kai150 的方法......

  1. 收集原始 HTML 代码来构建 JSSOR 滑块。基本上里面的所有东西<div id='slider1_container'>。如果需要,您可以将初始幻灯片容器 div 留空,这样您就可以从头开始动态构建幻灯片:<div id ="slider1_slides" u="slides" ...></div>
  2. 消除所有制表符和 EOL(行尾)字符。您通常可以使用合适的代码编辑器(例如 Notepad++)来完成此操作。 (对于 Notepad++,请转到编辑 -> 空白操作 -> 删除不必要的空白和 EOL。)
  3. 将这段很长的 HTML 代码存储到一个字符串中,例如var originalHTML = '...'。请小心使用单引号,并且所有原始 HTML 代码都使用双引号(反之亦然)。
  4. 删除旧对象:$('#slider1_container').remove();
  5. 从原始 HTML 开始构建新的 HTML:$('body').append(originalHTML);
  6. 根据需要进行修改。例如,要添加幻灯片:$('#slider1_container div').first().append(newSlideHTML); where newSliderHTML是用于构建另一张幻灯片的精简 HTML 代码。
  7. 初始化滑块:new $JssorSlider$('slider1_container', options);

所有这些都可以通过脚本包装到一些基本功能中。这是一些示例功能代码,使用缩略图 5 版本,您可以在其中调用refreshSlider具有图像对象数组:

var originalHTML = '<div id="slider1_container" style="position: relative; top: 0px; left: 0px; width: 600px; height: 456px; background: #24262e; overflow: hidden;"> <!-- Slides Container --> <div id ="slider1_slides" u="slides" style="cursor: move; position: absolute; overflow: hidden; left: 0px; top: 0px; width: 600px; height: 300px;"> </div>  <!-- Arrow Navigator Skin Begin --> <style> /* jssor slider arrow navigator skin 05 css */ /* .jssora05l              (normal) .jssora05r              (normal) .jssora05l:hover        (normal mouseover) .jssora05r:hover        (normal mouseover) .jssora05ldn            (mousedown) .jssora05rdn            (mousedown) */ .jssora05l, .jssora05r, .jssora05ldn, .jssora05rdn { position: absolute; cursor: pointer; display: block; background: url(js/jssor/a17.png) no-repeat; overflow:hidden; } .jssora05l { background-position: -10px -40px; } .jssora05r { background-position: -70px -40px; } .jssora05l:hover { background-position: -130px -40px; } .jssora05r:hover { background-position: -190px -40px; } .jssora05ldn { background-position: -250px -40px; } .jssora05rdn { background-position: -310px -40px; } </style> <!-- Arrow Left --> <span u="arrowleft" class="jssora05l" style="width: 40px; height: 40px; top: 123px; left: 8px;"> </span> <!-- Arrow Right --> <span u="arrowright" class="jssora05r" style="width: 40px; height: 40px; top: 123px; right: 8px"> </span> <!-- Arrow Navigator Skin End -->  <!-- Thumbnail Navigator Skin Begin --> <div u="thumbnavigator" class="jssort05" style="position: absolute; width: 600px; height: 100px; left:0px; bottom: 0px;"> <!-- Thumbnail Item Skin Begin --> <style> /* jssor slider thumbnail navigator skin 05 css */ /* .jssort05 .p           (normal) .jssort05 .p:hover     (normal mouseover) .jssort05 .pav           (active) .jssort05 .pav:hover     (active mouseover) .jssort05 .pdn           (mousedown) */ .jssort05 .f { clip: rect(8px 63px 63px 8px); } .jssort05 .i { position: absolute; background: #000; filter: alpha(opacity=30); opacity: .3; width: 72px; height: 72px; top: 0; left: 0;  transition: background-color .6s; -moz-transition: background-color .6s; -webkit-transition: background-color .6s; -o-transition: background-color .6s; } .jssort05 .pav .i { background: #fff; filter: alpha(opacity=80); opacity: .8; } .jssort05 .pdn .i { background: none; }  .jssort05 .p:hover .i, .jssort05 .pav:hover .i { background: #fff; filter: alpha(opacity=30); opacity: .3; } .jssort05 .p:hover .i { transition: none; -moz-transition: none; -webkit-transition: none; -o-transition: none; } </style> <div u="slides" style="cursor: move;"> <div u="prototype" class="p" style="POSITION: absolute; WIDTH: 72px; HEIGHT: 72px; TOP: 0; LEFT: 0;"> <div class="o" style="position:absolute;top:1px;left:1px;width:72px;height:72px;overflow:hidden;"> <ThumbnailTemplate class="b" style="width:72px;height:72px; border: none;position:absolute; TOP: 0; LEFT: 0;"></ThumbnailTemplate> <div class="i"></div> <ThumbnailTemplate class="f" style="width:72px;height:72px;border: none;position:absolute; TOP: 0; LEFT: 0;"></ThumbnailTemplate> </div> </div> </div> <!-- Thumbnail Item Skin End --> </div> <!-- Thumbnail Navigator Skin End -->   </div>';

function createSlideDeck(images) {
    $.each(images, function(i,e) {
        createSlide(e);
    });
}

function createSlide(img) {
    $div = $('<div><div>');
    $div.append($('<img u="image" src="'+img.src+'" />'))
        .append($('<img u="thumb" src="'+img.src+'" />'));
    $('#slider1_slides').append($div);
}

function refreshSlider(images) {
    $('#slider1_container').remove();
    $('body').append(originalHTML);
    createSlideDeck(images);
    jssor_slider1 = new $JssorSlider$('slider1_container', options);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jssor slider - 如何销毁并重新创建具有不同内容的 Jssor slider 的相关文章

  • 从 Struts 2 中的登录拦截器重定向

    我们的应用程序要求用户登录才能查看任何内容 对所有页面的访问被拦截LoginInterceptor如果用户没有有效的会话 则会显示登录表单 我希望拦截器在显示登录表单之前记住原始请求 URI 并在登录表单验证成功时重定向到它 我试着跟随St
  • {{csrf_token}} 给我 403 Forbidden,而 {%csrf_token%} 给我 500 服务器错误

    我读到这两个基本上是同一件事 但每个都给我带来不同的错误 我不确定该追寻哪一个 我什至不知道如何解决这个问题 有人可以看一下我的代码吗 我已经为此苦苦挣扎了两天 my html div div
  • 是否可以从 Ansible.cfg 中禁用 Ansible 的 ssl 验证?

    我想禁用 SSL 验证ansible cfg配置文件 类似的东西存在于get url module 但是来自 Ansible 配置文件 parameter validate certs no Example name Download JB
  • 不允许操作:alter table add columns(line 1, pos 0)

    We have Spark 2 1 Thrift JDBC ODBC服务器配置为Hive 2 1 1并使用Beeline DDL 语句如 创建表 创建类似表 创建类似表 更改表集 表属性 效果很好 But ALTER TABLE ADD C
  • Google Map API v3 仅显示 5 层

    使用 10 个 KML 文件进行简单调用 我们只显示了 5 个 它工作了几个月 突然停止了 2012 年 5 月 28 日 var map new google maps Map document getElementById map ca
  • WPF:flowdocument 到 PDF [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 hI 有没有可以将流程文档内容打印为PDF的控件 编辑 不是第三方控件 谢谢 我能够通过将 flowdocument 内容保存到 DOCX 并使用以
  • 在android中合并适配器

    我在两个不同的适配器中有两个不同的数据 现在我想将这两个数据合并到一个适配器中 这可能吗 我怎样才能做到这一点 Regards vani 也许 CommonsGuy 的 MergeAdapter 源会有所帮助 请在此处阅读有关文档http
  • 给定数字可以组成的最大数字

    给定一个整数 找出可以由数字组成的最大数字 输入 8754365 输出 8765543 我在 O n logn 中告诉了解决方案 他要求我进一步优化 我们可以利用哈希表进一步优化 rightarrow O n 算法 1 取一个大小为 10
  • 如何在日期解析(Java)中忽略时区标识符?

    我正在尝试像这样解析日期 DateFormat df new SimpleDateFormat MMM dd yyyy K mm ss SSS a z Locale ENGLISH Date date df parse Oct 04 201
  • 采用 VectorXf 并可以修改其值的函数

    我想了解如何操纵特征向量 矩阵 我想实现一个最小二乘高斯牛顿算法 这就是我学习使用 Eigen 库的原因 我有一个 1x6 参数向量 需要每次迭代更新 现在 我只想弄清楚函数如何将向量作为参数并更改其值 Eigen VectorXf bet
  • 如何在不更改 Linux 扩展名的情况下重命名文件 102221.pdf 为 102221_name.pdf

    如何在 Linux 中重命名文件而不更改扩展名 102221 pdf 至 102221 name pdf 我认为这就是你想要的 for x in do mv x x name x done x 将给出不带扩展名的文件名 x 将提取扩展名

随机推荐