私のクライアントは、サイトのこの「スポンサー」スライダーをスクロール、ランダム化、またはフェードインおよびフェードアウトすることを望んでいます。これらすべてを実現するためにさまざまなことを試しましたが、何も機能しません。現在、スライダーは「.click」コマンドに設定されたボタンによって制御されています。Javascript でアニメーションを追加する方法はありますか?これを実現するには何を変更する必要がありますか? アニメーションでない場合、Javascript を使用してページの読み込み時に配列をランダム化する方法はありますか? さまざまな変更を入力しようとし続けていますが、何も機能していません。それらを機能させるには、「他のものをオフにする」必要があるのではないかと思います...
私はJavascriptが初めてなので、助けていただければ幸いです。
コードは次のとおりです。
// ============
// = SPONSORS =
// ============
if($('#sponsors').length>0){
// let's make sure our logos are centered
$(window).load(function(){
$('#sponsor-logos li').each(function(){
wrapper = $(this).find('span.logo');
wrapper_height = wrapper.height();
sponsor_logo = $(this).find('img');
total_height = 84;
logo_height = sponsor_logo.height();
buffer = Math.floor(((total_height - logo_height) / 2));
wrapper.css('paddingTop',buffer + 'px').height(wrapper_height-buffer);
});
});
window_width = 656;
slide_duration = 500;
// get our arrows on there
$('#sponsors .inner').prepend('<a class="prev" href="#">Prev</a>').append('<a class="next" href="#">Next</a>');
// set our width
thumbs = $('#sponsor-logos');
thumbs.width(thumbs.children().length*164);
thumbs.wrap('<div class="slider"></div>');
// hook the arrows
$('#sponsors a.prev').click(function(){
thumbs = $('#sponsor-logos');
if((Math.abs(parseInt(thumbs.css('left').replace('px',''),10)))>1){
if(!thumbs.data('animating')){
thumbs.data('animating',true);
thumbs.animate(
{left:'+='+window_width+'px'},
slide_duration, 'swing', function(){
thumbs.data('animating',false);
}
);
}
}else{
// already too far, we'll bounce for feedback
if(!thumbs.data('animating')){
thumbs.data('animating',true);
thumbs.animate(
{left:'+=15px'},
(slide_duration/5), 'swing', function(){
thumbs.animate(
{left:'-=15px'},
(slide_duration/5), 'swing', function(){
thumbs.data('animating',false);
}
);
}
);
}
}
return false;
});
$('#sponsors a.next').click(function(){
thumbs = $('#sponsor-logos');
if(thumbs.width() - window_width - Math.abs(parseInt(thumbs.css('left').replace('px',''),10)) > 150){ // 150 represents at least one thumb (194 to be exact)
if(!thumbs.data('animating')){
thumbs.data('animating',true);
thumbs.animate(
{left:'-='+window_width+'px'},
slide_duration, 'swing', function(){
thumbs.data('animating',false);
}
);
}
}else{
// already too far, we'll bounce for feedback
if(!thumbs.data('animating')){
thumbs.data('animating',true);
thumbs.animate(
{left:'-=15px'},
(slide_duration/5), 'swing', function(){
thumbs.animate(
{left:'+=15px'},
(slide_duration/5), 'swing', function(){
thumbs.data('animating',false);
}
);
}
);
}
}
return false;
});
}