2011-08-10 3 views
1

私がやっているスクリプトの助けが必要です...私が達成したいのは、#socializethis divが表示される「テスト」のクラスにマウスを置いたときです。マウスオーバーすると消えます。私はそれを達成しましたが、実際には社会的にも焦点が当てられているので、ボックスは消えません。スクリプトの援助が必要です - jquery

など、私が何をしたいと私はそれの下で、右その横のボックスを表示することができますので、クラスのテスト 'の位置を決定する方法については行くには考えている第二の事、

イム行きますこれをソーシャル共有スクリプトに使用しようとします。

index.htmlを

share.css

img {border: none;} 
#socializethis{ 
height:37px; 
width:260px; 
position:absolute; 
bottom:500px; 
right:900px; 
overflow:hidden; 
display:none; 
visibility:hidden; 
padding:3px 3px 3px 3px; 
/* CSS3 */ 
-webkit-border-radius: 10px; 
-moz-border-radius: 10px; 
border-radius: 10px; 
-moz-box-shadow: 0 0 3px 3px #555; 
-webkit-box-shadow: 0 0 3px 3px #555; 
box-shadow: 0 0 3px 3px #555; 
} 

#socializethis a{ 
float:left; 
width:32px; 
margin:3px 3px 3px 3px; 
padding:0; 
} 

#socializethis span{ 
float:left; 
margin:3px 3px 3px 3px; 
text-shadow: 1px 1px 1px #FFF; 
color:#444; 
font-size:12px; 
} 

share.js

(function($) { 
    $(document).ready(function() { 

    var twit = 'http://twitter.com/home?status='+title+'%20'+url; 
    var facebook = 'http://www.facebook.com/sharer.php?u='+url 
    var digg = 'http://digg.com/submit?phase=2&url='+url+'&title='+title; 
    var stumbleupon = 'http://stumbleupon.com/submit?url='+url+'&title='+title; 
    var buzz = 'http://www.google.com/reader/link?url='+url+'&title='+title+'&srcURL='+host; 
    var delicious = 'http://del.icio.us/post?url='+url+'&title='+title; 

    var tbar = '<div id="socializethis"><span>Share<br /><a href="#min" id="minimize" title="Minimize"><img src="images/minimize.png" /> </a></span><div id="sicons">'; 
    tbar += '<a href="'+twit+'" id="twit" title="Share on twitter"><img src="images/twitter.png" alt="Share on Twitter" width="32" height="32" /></a>'; 
    tbar += '<a href="'+facebook+'" id="facebook" title="Share on Facebook"><img src="images/facebook.png" alt="Share on facebook" width="32" height="32" /></a>'; 
    tbar += '<a href="'+digg+'" id="digg" title="Share on Digg"><img src="images/digg.png" alt="Share on Digg" width="32" height="32" /></a>'; 
    tbar += '<a href="'+stumbleupon+'" id="stumbleupon" title="Share on Stumbleupon"><img src="images/stumbleupon.png" alt="Share on Stumbleupon" width="32" height="32" /></a>'; 
    tbar += '<a href="'+delicious+'" id="delicious" title="Share on Del.icio.us"><img src="images/delicious.png" alt="Share on Delicious" width="32" height="32" /></a>'; 
    tbar += '<a href="'+buzz+'" id="buzz" title="Share on Buzz"><img src="images/google-buzz.png" alt="Share on Buzz" width="32" height="32" /></a>'; 
    tbar += '</div></div>'; 

    // Add the share tool bar. 
    $('#social').append(tbar); 
    $('#socializethis').css({opacity: 1}); 

    // hover 
    $('a.test').bind('mouseover',function(){ 
    $('#socializethis').animate({opacity: 1}, 600); 
    $('#socializethis').css({display:'inline', visibility: 'visible'}); 
    }); 

    $('#socializethis').bind('mouseover',function(){ 
    $('#socializethis').animate({opacity: 1}, 600); 
    $('#socializethis').css({display:'inline', visibility: 'visible'}); 
    }); 

    //leave 
    $('a.test').bind('mouseout',function(){ 
    $('#socializethis').animate({opacity: 0}, 600, function(){ 
     $('#socializethis').css({display:'none', visibility: 'hidden'}); 
    }); 
    }, 600); 

    }); 
})(jQuery); 

答えて

2

あなたの最初の質問に答えるために - jQueryのMouseEnterイベントを使用して、マウスオーバーするのではなく、mouseleaveとマウスアウト。 Mouseenterは、子供が親のmouseenterイベントを引き起こすことを許可します。 jQueryのページhttp://api.jquery.com/mouseenter/の下に、その違いを示すデモがあります。次に、testとsocializeの両方の要素を親divに配置します。このdivは非表示になり、テストのように見えます。この方法で、ユーザーが両方の要素を残さない限り、mouseleaveは呼び出されません。