【问题标题】:Jquery cycle plugin - Multiple divs with cycle plugin from one script?Jquery 循环插件 - 一个脚本中带有循环插件的多个 div?
【发布时间】:2012-10-25 07:31:28
【问题描述】:

我是 jquery/javascript 新手,需要帮助!

我想在多个 div 中使用循环插件,每个 div 中有不同的图像。每个 div 大小相同,每个图像大小相同。

到目前为止,我使用的代码显示了第一个 div 中的所有图像,但是当我单击我的徽标(链接到 index.html)时,所有图像突然出现在适当的位置并与循环插件一起使用。

这就是我的想法

<script type="text/javascript" src="js/jquery-1.3.js"></script>
        <script type="text/javascript" src="js/jquery.cycle.all.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $('#box1').cycle({ 
                        fx:     'fade', 
                       speed:   300, 
                       timeout: 0, 
                       next:   '#box1', 
                       pause:   1  
                });
            });

            $(document).ready(function(){
                $('#box2').cycle({ 
                        fx:     'fade', 
                       speed:   300, 
                       timeout: 0, 
                       next:   '#box2', 
                       pause:   1  
                });
            });

            $(document).ready(function(){
                $('#box3').cycle({ 
                        fx:     'fade', 
                       speed:   300, 
                       timeout: 0, 
                       next:   '#box3', 
                       pause:   1  
                });
            });
        </script>

身体...

<div id="container">


            <div id="box1" class="box">
            <img src="images/car.jpg" alt="images/car.jpg"/>
            <img src="images/van.jpg" alt="images/van.jpg"/>
            </div>


            <div id="box2" class="box">
            <img src="images/bottle.jpg" alt="images/bottle.jpg"/>
            <img src="images/pattern.jpg" alt="images/pattern.jpg"/>
            </div>

            <div id="box3" class="box">
            <img src="images/car.jpg" alt="images/car.jpg"/>
            <img src="images/van.jpg" alt="images/van.jpg"/>
            </div>
    </div>

在 css 中容器是 position: absolute;

我确信有一个简单的解决方案,但我搜索了 stackoverflow 和其他网站都无济于事。非常感谢任何帮助!!!!

【问题讨论】:

  • 一条评论:您应该将所有$('#box').cycle() 包含在一个 $(document).ready() 中。预期的行为是什么?
  • 嗨路易吉。预期的行为是每个单独的 div 将有它自己的单独的图像循环。就目前而言,我的所有图像都出现在第一个 div 中,直到我单击链接到 index.html 的徽标,在这种情况下,所有图像都出现在正确的 div 中并正常运行循环插件。希望这是有道理的。
  • 我也做了你在上面评论中所说的!

标签: javascript html jquery-cycle


【解决方案1】:

我做了这个例子:

http://jsfiddle.net/oceog/YHLz2/11/

$(function() {
    $('.box').each(function() {
        var $this = $(this);
        $this.cycle({
            fx: 'fade',
            speed: 300,
            timeout: 0,
            next: $this,
            pause: 1
        });
    });
});​

它按预期工作,你的也是。可能是你使用太旧的 jquery 吗? (当前为 1.8)

如果答案不适合您的问题,您能否编辑 jsfiddle 以显示问题所在?


  • 当我加载页面时
  • 当我点击我的徽标时,链接到 index.html

我认为加载页面时加载的不是 index.html,而是 index.htm,或 index.php 或其他内容,请检查您的站点目录

jsfiddle 应该重复你的问题,而不仅仅是显示你的结构

如果您的网站在互联网上 - 给我链接,我会检查


尝试将您的代码更改为以下内容:
   $(document).load(function() {
    $('.box').each(function() {
        var $this = $(this);
        $this.cycle({
            fx: 'fade',
            speed: 300,
            timeout: 0,
            next: $this,
            pause: 1
        });
    });
});​

【讨论】:

  • 嗨,eicto。我使用的 jquery 很旧,所以我已将其更新为当前版本,但结果与以前相同。我在 jsfiddle 中添加了一些 CSS,并以与我的网站类似的方式放置图像。也许这会有所帮助?..我忘了在上面提到这是一个横向网站。此外,它每次在 Firefox 中都能完美运行,但在 chrome 或 safari 中却不行。
  • 正如 jqeury 似乎工作正常,但是当我打开页面时,所有图像,无论它们放置在哪个 div 中,都会在第一个 div 中彼此重叠。也许这是我的 css 的问题?
  • 不幸的是,没有...因为目前我的所有图像都出现在第一个 div 中,直到我点击链接到 index.html 的徽标,在这种情况下,所有图像都出现在他们正确的 div 并正常运行循环插件。我对此感到困惑。
  • 你能重复这个问题吗?我在小提琴中看不到徽标
  • 我尝试了新的精简代码。它甚至没有部分运行插件,这很奇怪,因为我可以看到它在小提琴上工作。我已经用我的更多 html 和 css 更新了 [the fiddle] (jsfiddle.net/YHLz2/25),看看你是否能发现错误,尽管我在 w3 学校对其进行了测试并且结果很好。我使用了最后一个有效的脚本。我的问题是,当我加载页面时,来自单独 div 中的循环插件的所有图像都在第一个 div 中相互重叠,但是当我单击链接到 index.html 的徽标时,整个页面工作正常并且图像返回正确的 div。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多