【问题标题】:Creating slideshow - Jquery创建幻灯片 - Jquery
【发布时间】:2013-08-16 19:10:12
【问题描述】:

我在这里有这个非常简单的幻灯片:http://jsfiddle.net/Jtec5/
代码如下:
HTML:

<div id="slideshow">
   <div>
     <img src="http://farm6.static.flickr.com/5224/5658667829_2bb7d42a9c_m.jpg">
   </div>
   <div>
     <img src="http://farm6.static.flickr.com/5230/5638093881_a791e4f819_m.jpg">
   </div>
   <div>
     <img src="http://gillespaquette.ca/images/stack-icon.png">
   </div>
</div>

CSS:

#slideshow { 
    margin: 50px auto; 
    position: relative; 
    width: 240px; 
    height: 240px; 
    padding: 10px; 
    box-shadow: 0 0 20px rgba(0,0,0,0.4); 
}

#slideshow > div { 
    position: absolute; 
    top: 10px; 
    left: 10px; 
    right: 10px; 
    bottom: 10px; 
}

jquery:

$("#slideshow > div:gt(0)").hide();

setInterval(function() { 
  $('#slideshow > div:first')
    .fadeOut(1000)
    .next()
    .fadeIn(1000)
    .end()
    .appendTo('#slideshow');
},  3000);

我正在尝试添加圆圈,告诉我幻灯片在哪张照片中以及幻灯片中有多少张照片,例如这些圆圈:

而且我也无法做到图片进入幻灯片框并且不离开它(幻灯片使用固定的宽度和高度,脚本固定照片的宽度和高度,或者只是将其剪切到在盒子幻灯片的框架内,不要下车),我的意思是我不希望照片像那样显示:

【问题讨论】:

  • 那么您是否尝试过应用所有您想要的东西?还是你在等别人为你做这个?
  • 你能想出一点价吗?诅咒我不是在等别人为我做那件事,如果我是的话,我不会制作幻灯片的脚本,我会来这里说“为我制作幻灯片”
  • 嗯.. 图像很简单,只需使用一些 CSS 为其添加最大宽度/最大高度。
  • 好的,我会解决的,我找不到圈子的解决方案:/

标签: jquery slideshow


【解决方案1】:

你可以这样做:http://jsfiddle.net/Jtec5/2/

在 HTML 的底部添加了 &lt;ul&gt;&lt;/ul&gt;。 在您的 CSS 中添加了以下内容:

#slideshow img {
    max-width:240px;
    max-height:240px;
}
ul {
    list-style:none;
    margin:0px;
    padding:0px;
}
ul li {
    float:left;
    border-radius:10px;
    width:10px;
    height:10px;
    border:1px solid white;
    background:grey;
}
ul li.active {
    background:black;
}

还有 JS:

$("#slideshow > div:gt(0)").hide();

var index = 1;
var maxindex = $('#slideshow > div').length;

setInterval(function () {
    $('#slideshow > div:first')
        .fadeOut(1000)
        .next()
        .fadeIn(1000)
        .end()
        .appendTo('#slideshow');
    $('ul li').removeClass('active');
    $('ul li:eq(' + index + ')').addClass('active');
    index = index < maxindex - 1 ? index + 1 : 0;
}, 3000);

for (var i = 0; i < maxindex; i++) {
    $('ul').append('<li class="' + (i == 0 ? 'active' : '') + '"></li>');
}

现在您必须将其样式设置为您想要的样式。

希望对你有帮助。

【讨论】:

  • 非常感谢,真的很有帮助
  • 另一个小问题,我可以用其他元素替换 ul 和 li 吗?因为我在我的 html 代码中使用它
  • 是的,你可以......但你必须重新设计它。什么样的元素?
  • 我解决了,谢谢,我只是把ul改成#ul,然后画成一个圆圈,谢谢
猜你喜欢
  • 2023-03-07
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
  • 2014-04-02
  • 2011-01-01
  • 1970-01-01
相关资源
最近更新 更多