鼠标输入鼠标离开帮助获取大量信息

时间:2011-12-21 22:42:40

标签: jquery mouseover mouseenter mouseleave

我想为每个州和每个城市设置一个链接。  当李州徘徊在我身上时我只希望这个州城市展示...... 但我只知道一点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>

2 个答案:

答案 0 :(得分:1)

您需要在查找城市时添加上下文,例如$('.citys', this).toggle(); 这将搜索位于.citys内的this元素,在这种情况下,这些元素是悬停的.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();

答案 1 :(得分:0)

你不需要javascript。查找“css:hover”......这些都可以由样式表处理。