gpt4 book ai didi

jQuery 内容旋转器

转载 作者:行者123 更新时间:2023-12-01 06:23:10 24 4
gpt4 key购买 nike

有人可以给我推荐一些 jQuery 插件,用于旋转这个 HTML 结构吗?

<div id="event_rotator">
<div class="event">
<h2>Title</h2>
<p>Text</p>
</div>
<div class="event">
<h2>Title</h2>
<p>Text</p>
</div>
<div class="event">
<h2>Title</h2>
<p>Text</p>
</div>
</div>

我希望,当用户在页面上时,它会在特定时间段内自动旋转,并且用户可以通过单击箭头来左右旋转它。

我尝试使用这个http://jquery.malsup.com/cycle/pager11.html ,但我无法让它工作。

问题是,我从 PHP 代码中动态获取此 HTML。我不知道如何分配所需的 css(我可以分配对所有人都相同的 CSS,但我不能分配不同的 css) Z 索引。

最佳答案

我在 10 分钟内创建了这个,所以它不是设计师的画廊,但是这个画廊拥有您使用学习如何创建 self 所需的一切 带有左/右按钮、自动旋转和悬停/暂停的幻灯片库。

HTML、CSS、JS 代码非常简单,请看一下:

http://jsbin.com/ofukaq/8/edit

HTML:

<div id="event_rotator">

<button id="left">left</button>
<button id="right">right</button>

<div id="slider">

<div class="event">
<h2>Title1</h2>
<p>Text1</p>
</div>
<div class="event">
<h2>Title2</h2>
<p>Text2</p>
</div>
<div class="event">
<h2>Title3</h2>
<p>Text3</p>
</div>

</div>

</div>

CSS:

#event_rotator{
width:300px;
height:150px;
position:relative;
overflow:hidden;
}
#slider{
position:absolute;
height:150px;
left:0;
width:99999px;
}
.event{
float:left;
width:300px;
height:150px;
background:#eee;
}

最后是 jQuery:

$(function(){

var W = $('#event_rotator').width(); // Gallery Width
var N = $('#slider .event').length; // Number of elements
var C = 0; // Counter
var intv; // Auto anim. Interval


if(N<=1){
$('#left, #right').hide(); // hide buttons only 1 element
}


$('#slider').width( W*N ); // Set slider width

$('#left, #right').click(function(){
// Animation logic
if(this.id=='right'){

C++;
C = C % N; // reset to '0' if end reached

}else{ // left was clicked

C--;
if(C===-1){ // IF C turns -1 scroll to last one (N-1)
C = N-1;
}

}
// Animation
$('#slider').stop().animate({left: -C*W }, 1000 );
});


// auto rotate

function autoRotate(){
intv = setInterval(function(){
$('#right').click();
},2000); // pause time
}
autoRotate(); // start auto rotate

// pause hover

$('#event_rotator').on('mouseenter mouseleave', function( e ){
var mEnt = e.type=='mouseenter';
if(mEnt){
clearInterval(intv);
}else{
autoRotate();
}
});

}); // * end document ready.

希望我能让您大开眼界,有时您不需要 3000 行的插件来构建一个具有您需要的所有功能的漂亮画廊。

<小时/>

这是使用三元运算符压缩的 jQuery 脚本:

jsBin demo

var W = $('#event_rotator').width(),
N = $('#slider .event').length,
C = 0,
intv;

if(N<=1)$('#left, #right').hide();
$('#slider').width( W*N );

$('#left, #right').click(function(){
C = (this.id=='right'? ++C : --C) < 0 ? N-1 : C%N ;
$('#slider').stop().animate({left: -C*W }, 700 );
});

function auto(){
intv = setInterval(function(){
$('#right').click();
}, 3000 );
}
auto();

$('#event_rotator').hover(function( e ){
return e.type=='mouseenter' ? clearInterval(intv) : auto();
});

关于jQuery 内容旋转器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14181109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com