0

次のJavaScriptをマウスオーバーイベントからページロードイベントに調整したいのですが、これまでのところ失敗しています。明確にするために、ページが読み込まれたときにスクリプトをアクティブにしたいのです。コードは次のとおりです。

$(function() {
            $('#sdt_menu2 > li').bind('mouseenter',function(){
                var $elem = $(this);
                $elem.find('img')
                     .stop(true)
                     .andSelf()
                     .find('.sdt_wrap')
                     .stop(true)
                     .andSelf()
                     .find('.sdt_active')
                     .stop(true)
                     .animate({'height':'45px'},300,function(){
                    var $sub_menu = $elem.find('.sdt_box');
                    if($sub_menu.length){   
                    }   
                });
4

1 に答える 1

1

質問を正しく理解していれば、次のように簡単です

$(function(){
            var $elem = $(this);
            $elem.find('img')
                 .stop(true)
                 .andSelf()
                 .find('.sdt_wrap')
                 .stop(true)
                 .andSelf()
                 .find('.sdt_active')
                 .stop(true)
                 .animate({'height':'45px'},300,function(){
                var $sub_menu = $elem.find('.sdt_box');
                if($sub_menu.length){   
                }   
            });


$(handler)(すでに使用したもの)は、実際にはのショートカットです$(document).ready(handler)
jQueryドキュメントから.ready()

次の 3 つの構文はすべて同等です。
$( document ).ready( handler )
$().ready( handler ) (これはお勧めしません)
$( handler )



[編集]: 関数がまだ動作する必要がある場合は、もちろん$('#sdt_menu2 > li')$elem(これは有効な名前ですか? Oo) をそれに設定する必要があります。それがあなたが望むものなら、代わりに

var $elem = $(this);

var $elem = $('#sdt_menu2 > li')`
于 2013-11-14T00:16:46.250 に答える