Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery中li元素的克隆_Javascript_Jquery_Html_Jquery Plugins_Html Lists - Fatal编程技术网

Javascript JQuery中li元素的克隆

Javascript JQuery中li元素的克隆,javascript,jquery,html,jquery-plugins,html-lists,Javascript,Jquery,Html,Jquery Plugins,Html Lists,我正在使用EasySlider,但与我发现的这个插件的任何示例不同,我在任何时候都会显示多个元素,宽度为100%。这些单独的图像组成了一个完整的、长的连续图像,经过Photoshop处理后,即使是第一个和最后一个之间的边界看起来也很自然。它被配置为自动连续滑动 插件中有以下代码: if(options.continuous){ $("ul", obj).prepend($("ul li:last-child", obj).clone().css("margin-left","-"+ w

我正在使用EasySlider,但与我发现的这个插件的任何示例不同,我在任何时候都会显示多个元素,宽度为100%。这些单独的图像组成了一个完整的、长的连续图像,经过Photoshop处理后,即使是第一个和最后一个之间的边界看起来也很自然。它被配置为自动连续滑动

插件中有以下代码:

if(options.continuous){
    $("ul", obj).prepend($("ul li:last-child", obj).clone().css("margin-left","-"+ w +"px"));
    $("ul", obj).append($("ul li:nth-child(2)", obj).clone());
    $("ul", obj).css('width',(s+1)*w);
};              
我的问题是,只有第一个元素在最后一个元素之后被克隆,因此在第二次旋转此滑块时,只有第一个元素显示,直到它到达最左侧,然后其他图像显示为“弹出”。(类似:[]如果你想象,在游乐场到达最左侧之前,游乐场右侧的所有图像都不会出现)

有没有更好的方法来管理元素的克隆,以便克隆所有图像?或许有人能想出更好的办法?我不熟悉JQuery


注意:我试图创建一个操作,当一个元素离开左边的屏幕时,它被放回右边。有没有办法最终做到这一点?

不知道,如果我用正确的方法来理解它,你可以试试这个:

  //at first run add a class "init" to the inital li-elements,
  //so that later only them will be cloned 
if(!$('ul li.init',obj).length)$('ul li',obj).addClass('init');

  //prepend clones of all li-elements with init-class and remove their init-class
$("ul", obj).prepend($("ul li.init", obj).clone().removeClass('init').css({}));

不知道,如果我用正确的方法来解决问题,你可以试试这个:

  //at first run add a class "init" to the inital li-elements,
  //so that later only them will be cloned 
if(!$('ul li.init',obj).length)$('ul li',obj).addClass('init');

  //prepend clones of all li-elements with init-class and remove their init-class
$("ul", obj).prepend($("ul li.init", obj).clone().removeClass('init').css({}));

我想你可能想考虑一个不同的插件。 如果更改插件,更新将需要重新应用修补程序

我推荐 或


这些都支持你所说的。

< P>我想你可能想考虑一个不同的插件。 如果更改插件,更新将需要重新应用修补程序

我推荐 或


这两者都支持您所说的。

我同意troynt的观点,在这种情况下,最好使用符合您要求的东西

我只是做了一个简单的“插件”,它只做你需要的,也许对你有用


您可以设置延迟和持续时间,并选择暂停悬停。

我同意troynt的观点,在这种情况下,最好使用符合您要求的东西

我只是做了一个简单的“插件”,它只做你需要的,也许对你有用


您可以设置延迟和持续时间,并选择暂停悬停。

如果您的滚动条中有如下项目列表:

<ul>
    <li>...</li>
    <li>...</li>
    <li>...</li>
    <li>...</li>
</ul>

假设您的滚动条中有如下项目列表:

<ul>
    <li>...</li>
    <li>...</li>
    <li>...</li>
    <li>...</li>
</ul>

我试过这个,但不幸的是它不起作用。我会再解释一点:这个插件本来是要在一个框架中使用的,但是我把它拿走了,所以滚动条正好在页面上伸展。我只有4个元素(在最大分辨率上,这四个元素结束于屏幕外),当每次滚动时(即使下一幅图像聚焦),序列中最后一幅图像的右侧没有图像。我想把第一个放在那里我试过了,但不幸的是它不起作用。我会再解释一点:这个插件本来是要在一个框架中使用的,但是我把它拿走了,所以滚动条正好在页面上伸展。我只有4个元素(在最大分辨率上,这四个元素结束于屏幕外),当每次滚动时(即使下一幅图像聚焦),序列中最后一幅图像的右侧没有图像。我想把第一个放在那里,不需要分离,你可以直接附加li:first。不需要分离,你可以直接附加li:first。我以前试过JCarouselLite,但我无法进入下载页面工作,所以我无法测试它。我刚才试过了,进入了他的页面源代码,这样我就可以进入下载页面了。您刚刚获得了+100的销售代表,请欣赏:)我以前尝试过JCarouselLite,但我无法进入下载页面工作,因此无法测试它。我刚才试过了,进入了他的页面源代码,这样我就可以进入下载页面了。你刚刚为自己赢得了+100个rep mate,请享受:)我根本无法让那个插件工作!我一字不差地复制了它,不知道你是如何让预览区工作的。如果我看不到发生了什么,我就看不到哪里出了问题。^^我根本无法让那个插件工作!我一字不差地复制了它,不知道你是如何让预览区工作的如果我看不到发生了什么,我就看不出哪里出了问题^^