0
function UYARIAYAR(kevent,RENGa){
$('marquee').fadeOut(10);
$('.olays').html(kevent).css({"color":RENGa}).fadeIn(100).animate({opacity: 1}, 2200,function(){ 
$(this).animate({opacity: 0.8}, 1800,function(){
$(this).animate({pacity: 0.6}, 800,function(){
$(this).animate({opacity: 0.4}, 800,function() { 
$(this).animate({opacity: 0.0}, 800).css({"color":"#600"}).fadeOut(1);
})})})})
setTimeout('$("marquee").fadeIn().start();',8000);
}

function uyari(tur,mesaj){
var mesajimiz = null;
var font_renk = null;
    switch($.trim(tur)){
    case 'hata' : mesajimiz = 'Yaptıgınız İşlemde Hata Meydana Geldi'; font_renk='red'; break;
    default  : mesajimiz = 'Yaptıgınız İşlem Okey Canım'; font_renk='green'; break;
        }
    UYARIAYAR(mesajimiz,font_renk)
}

$(document).ready(function(e) {
    uyari('hata',null);
});

MARQUEE Domが戻ってきたとき、すべてがうまく機能していますが、スクロールではなく停止し始めていません..

4

2 に答える 2

0

jQuery で stop() を使用してみてください。

http://api.jquery.com/stop/

于 2012-05-19T03:14:42.010 に答える
0

<marquee>タグは標準のhtmlではなく(こちら を参照)、その動作はさまざまなプラットフォームで変更される可能性が非常に高いため、jQuery がフェードアウト時に失敗することはそれほど奇妙ではありません。

このようなアニメーションは非常に気を散らし、通常は非常に醜いことが証明されているため、それを使用したり、スクロールアニメーションをまったく使用したりしないことをお勧めします.

別の提案: このコードを置き換えます:

setTimeout('$("marquee").fadeIn().start();',8000);

これとともに:

setTimeout(function(){
    $("marquee").fadeIn();
}, 8000);

(まったく同じことを行いますが、はるかに読みやすく、二重引用符で囲む必要はありません)。

編集:

$( ... ).fadeIn().start()は関数ではありません - を使用して$( ... ).fadeIn()ください。

于 2012-05-19T03:25:16.697 に答える