javascript 连续徽标轮播
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/27430490/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-28 07:29:09 来源:igfitidea点击:
Continuous Logo Carousel
提问by Keely
I am trying to make this carousel of logos to run continuously automatically. Right now it is still pausing at each logo before going to the next.
我试图让这个标志轮播自动连续运行。现在它仍在每个标志处暂停,然后再转到下一个标志。
$(function() {
// vars for clients list carousel
// http://stackoverflow.com/questions/6759494/jquery-function-definition-in-a-carousel-script
var $clientcarousel = $('#clients-list');
var clients = $clientcarousel.children().length;
var clientwidth = (clients * 220); // 140px width for each client item
$clientcarousel.css('width', clientwidth);
var rotating = true;
var clientspeed = 0;
var seeclients = setInterval(rotateClients, clientspeed);
$(document).on({
mouseenter: function() {
rotating = false; // turn off rotation when hovering
},
mouseleave: function() {
rotating = true;
}
}, '#clients');
function rotateClients() {
if (rotating != false) {
var $first = $('#clients-list li:first');
$first.animate({
'margin-left': '-220px'
}, 2000, function() {
$first.remove().css({
'margin-left': '0px'
});
$('#clients-list li:last').after($first);
});
}
}
});
/*Logo carousel*/
#clients {
display: block;
margin-left: auto;
margin-right: auto;
}
#clients .clients-wrap {
display: block;
width: 95%;
margin: 0 auto;
overflow: hidden;
}
#clients .clients-wrap ul {
display: block;
list-style: none;
position: relative;
margin-left: auto;
margin-right: auto;
}
#clients .clients-wrap ul li {
display: block;
float: left;
position: relative;
width: 220px;
height: 100px;
line-height: 100px;
text-align: center;
}
#clients .clients-wrap ul li img {
vertical-align: middle;
max-width: 100%;
max-height: 100%;
-webkit-transition: 0 linear left;
-moz-transition: 0 linear left;
transition: 0 linear left;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)";
filter: alpha(opacity=65);
opacity: 0.65;
}
#clients .clients-wrap ul li img:hover {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
opacity: 1.0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="clients">
<div class="clients-wrap">
<ul id="clients-list" class="clearfix">
<li>
<img src="images/logos/BlaceAce-grayscale.png" alt="Black Ace">
</li>
<li>
<img src="images/logos/WBPN-grayscale.png" alt="First State Bank">
</li>
<li>
<img src="images/logos/CA-grayscale.png" alt="Custom Aire">
</li>
<li>
<img src="images/logos/GVAH-grayscale.png" alt="First State Bank">
</li>
<li>
<img src="images/logos/DM-grayscale.png" alt="Dakota Molding">
</li>
<li>
<img src="images/logos/DP-grayscale.png" alt="Dakota Peat">
</li>
<li>
<img src="images/logos/IH-grayscale.png" alt="First State Bank">
</li>
<li>
<img src="images/logos/EBC-grayscale.png" alt="Eastbay Campground">
</li>
<li>
<img src="images/logos/NDTC-grayscale.png" alt="First State Bank">
</li>
<li>
<img src="images/logos/Nutrena-grayscale.png" alt="First State Bank">
</li>
<li>
<img src="images/logos/NWB-grayscale.png" alt="First State Bank">
</li>
<li>
<img src="images/logos/RHS-grayscale.png" alt="First State Bank">
</li>
<li>
<img src="images/logos/Sertoma-grayscale.png" alt="First State Bank">
</li>
<li>
<img src="images/logos/FSB-grayscale.png" alt="First State Bank">
</li>
<li>
<img src="images/logos/TM-grayscale.png" alt="First State Bank">
</li>
<li>
<img src="images/logos/TP-grayscale.png" alt="First State Bank">
</li>
<li>
<img src="images/logos/UC-TMC-grayscale.png" alt="First State Bank">
</li>
<li>
<img src="images/logos/Vilandre-grayscale.png" alt="First State Bank">
</li>
</ul>
</div>
<!-- @end .clients-wrap -->
</div>
<!-- @end #clients -->
JSFIDDLE:
JSFIDDLE:
采纳答案by Joonas
You need to add "linear"
easing to the .animate()
您需要添加"linear"
宽松的.animate()
Line 25:
第 25 行:
$first.animate({ 'margin-left': '-220px' }, 2000, "linear", function() {