1

私もすべての州、すべての都市にリンクを設定したいと思います。州liにカーソルを合わせると、この州の都市が表示されるようにしたいだけです....しかし、jqueryコードを少ししか知らず、セレクターを理解するのに完全ではありません。.each jquery関数の使用方法がわかりません.... 助けてください!!!!phpコード:

<?
$everything = array(
        'states'=>array(
            'Alabama'=>array('Birmingham,Montgomery,Mobile,Huntsville,Tuscaloosa'),
            'Alaska'=>array('Anchorage,Juneau,Fairbanks,Sitka,Ketchikan'),
            'Arizona'=>array('Phoenix,Tuscon,Mesa,Glendale,Scottsdale'),
            'Arkansas'=>array('Little Rock,Fort Smith,North Little Rock,Fayetteville,Jonesboro'),

        )
);
$id = md5(0);
$controll = 0;
$here = md5('states');
echo "<div id=\"9090\"><ol id=\"selectable\">";
    foreach($everything['states'] as $state=>$city){
    $citys = explode(',',$city[0]);
    echo    "<li class=\"ui-state-default\"><a class=\"contr\" href=\"#\">$state</a> <div class=\"citys\">";
        foreach($citys as $key=>$x){
            echo "<a href=\"#\">$x</a><br>";    
        }
    "</div></li>";
    }

echo "</ol></div>";
?>

jquery:

    <script>

        $(function() {
            $( "#selectable" ).selectable();
        });
        $('.ui-state-default').mouseenter(function(e) {
// here when i hover over this state all citys show i just want the cities for this sate
            $('.citys').toggle();
        }).mouseleave(function(e) {
// here when i leave  this state li all theese citites should leave
            $('.citys').toggle();
        });;

    </script>
4

2 に答える 2

1

このように、都市を見つけるときにコンテキストを追加する必要があります。これにより、この場合はホバーされた要素である内部にある要素$('.citys', this).toggle();
が検索されます。.citysthis.ui-state-default

        $('.ui-state-default').mouseenter(function(e) {
            $('.citys', this).toggle(); // added this 
        }).mouseleave(function(e) {
            $('.citys', this).toggle(); // added this 
        });

http://api.jquery.com/jquery/#jQuery1でコンテキスト パラメータの使用方法を参照してください。


または、使用することができます.find()

$(this).find('.citys').toggle();
于 2011-12-21T22:48:17.180 に答える
0

これにはjavascriptは必要ありません。「css: hover」を調べてください...これはすべてスタイルシートで処理できます。

于 2011-12-21T22:47:57.793 に答える