变量和jquery:如何捕获值并使用它们(第3部分)



好了,我上一篇文章是关于变量和jquery的问题:如何捕获值并使用它们(第3部分)。您可以找到其他关于寻找变量和jquery的问题:如何捕获值和使用它们(第1部分)变量和jquery:如何捕获值和使用它们(第2部分)

我不得不这样做:1. 从ul-li列表中捕获值;2. 将其插入到全局变量中(未成功);3.将此变量用于另一个单击函数。

现在我展示了我的解决方案代码(在社区的帮助下),听起来,但我想优化它。

我有一个带有事件鼠标悬停的城市ul-li列表:

<ul id="country_list" onmouseover="cl();">
        <li><a id="pulsante1" href="#">Roma</a>
        <li><a id="pulsante2" href="#">Milano</a>
        <li><a id="pulsante3" href="#">Venezia</a

这是我的CSS:

.selected 
     {
     background-color: #FFFFFF;
     }

开始函数,注释:

 function cl(){
     $('.map').maphilight(); // call a plug-in to illuminate the maps
       $('#country_list li a').mouseover(function(e){ //on mouseover over the list
    // change background color at the element of the list over the mouse is 
       $( e.target ).addClass('selected');  
    //put id value in a variable. I'm going to capture pulsante1 for example more #
        var $regionMap = '#' + e.target.id; 
    // put the value 
        var $variab = '#'+ e.target.innerHTML;
           //control
        //alert(regionMap);
        // alert (variab);
// this part is the plugin for highlight some particular areas (the cities' areas). form here to...
          $($regionMap).mouseover(function(a) {
            $($variab).mouseover();
            });
            $($regionMap).mouseout(function(a) {
            $($variab).mouseout();
            }); 
        });
//... here
//remove background color 
        $('#country_list li a').mouseout(function(e){
         $( e.target ).removeClass('selected');
        });     
// mousedown function. 
         $('#country_list li a').mousedown( function(e) {
         // e.target is the element you clicked, give me HTML value (Roma for example) 
        var $variabile = e.target.innerHTML;
    var $alfa= '#' + $variabile;  // Roma is now #Roma  
      // alert("You entered: " + $alfa); //control
    //control   dialog($alfa); // this call a dialog function giving its *$alfa* value
     });
    }

ok。这是我的问题:

  1. 我不喜欢在这里使用onmouseover <ul id="country_list" onmouseover="cl();">,但它似乎不能以其他方式工作('#country_list')。鼠标悬停不工作想法吗?

  2. 我想划分函数cl()的部分相对在鼠标下。为此,我需要两个值为:

    的全局变量

    id li(例如pulsante1)对我来说,这应该是regionMap。b. name li(例如Roma)。对我来说应该是变量

但我不知道如何获得一个全局变量!我已经在<script>regionMap=""; variab="";之间的<head></head>中声明了它们

我在前面试过白色$,还有很多其他的方法,但是我所有的尝试都没有实现…

所以你要帮我?

谢谢

第一个问题

比起使用onmouseover属性,最好将mouseover事件绑定到jQuery对象。可以使用以下代码:
$('ul#country_list').bind('mouseover', function () { // do what you want to do on mouse over });

也可以先定义一个函数,然后将其用作bind函数的第二个参数。例如:

var cl = function () { // do something };
$('ul#country_list').bind('mouseover', cl);

然后你的第二个问题,我不确定你的意思是"部分相对于鼠标下"。但是对于全局变量,你可以用不同的方法来实现。

我总是喜欢做的(注意这是一个例子,不是一个标准):

在window变量中创建一个空对象,例如:

window.globals = {};
function test () {
    window.globals.test = 'this is available everywhere!';
}
test();
console.log(window.globals);

相关内容

  • 没有找到相关文章

最新更新