本帖最后由 Jetlin_Yuan 于 2009-11-27 17:01:25 编辑

解决方案 »

  1.   

    检查一下你的代码,div加这两个事件是没问题的!<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function tagstop()
    {
    alert("在我身上");
    } function tagstart()
    {
    alert("离开我了");
    }
    //-->
    </SCRIPT>
     <BODY>
      <div style="width:100px;height:100px" onmouseover="tagstop()" onmouseout="tagstart()"> 11111111111111111111111</div>
     </BODY>
    </HTML>
      

  2.   

    div 确实是有的,不过二楼的演示可以,我换了函数竟然不行,不知道为什么,晕倒了!!!!具体的调用如下:
    <script src="http://ditu.google.com/maps?file=api&v=2&key=ABQIAAAAOgfnos4yFQc38pOzRuylIRS5qD906DIaGZugJfg6rKOeHDTzHxQK-ZM8TXF-8Z2Vz3_lfR2l2F2v3A" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">// show shops on map
    var mymap = 'viewmap_index';
    var map = null;
    var mapbounds = new GLatLngBounds(new GLatLng(23.339074, 116.5809596), new GLatLng(0.335218,0.719604));
    var ers = [];
    var current_er = null;
    var time; function tagstop(){ 
      window.clearTimeout(time);  
    } function tagstart(){ 
    window.setTimeout(map_auto_show, 6000); 
    }
    function map_show_info(i)
    {
    if(current_er !== i)
    {
    ers[i][0].openInfoWindow(ers[i][1], {"maxWidth": 250}); 
    current_er = i;
    }
    }function map_zoom_in(i)
    {
    map.setCenter(ers[i][0].getPoint(), 16);
    }function map_zoom_out()
    {
    if(current_er !== null) { ers[current_er][0].closeInfoWindow(); }
    map.setCenter(mapbounds.getCenter(), Math.min(15, map.getBoundsZoomLevel(mapbounds)));
    }
    function map_set_er(er, i)
    {
    GEvent.addListener(er, "click", function() { map_show_info(i); }); 
    GEvent.addListener(er, "infowindowclose", function() { current_er = null; }); }
    function map_auto_show()
    {
    var next_er;
    if(current_er === null) next_er = 0;
    else next_er = current_er + 1;
    if(next_er === null || next_er >= ers.length) { next_er = 0; }
    map_show_info(next_er);
    time=window.setTimeout(map_auto_show, 6000);
    }if (GBrowserIsCompatible()) 
    {
    map = new GMap2(document.getElementById('viewmap_index'));map.addControl(new GSmallMapControl());
    map.addControl(new GScaleControl());        var center = new GLatLng(112.1817398071289,37.20989218842202);
            map.setCenter(center, 12); 
    for(var i = 0; i < tmap_u.length; i++)
    {
    var icon = new GIcon(G_DEFAULT_ICON, "http://www.ihappyer.com/image/app/map_icon.png");
    G_DEFAULT_ICON.iconSize = new GSize(22, 22);
    icon.iconSize = new GSize(22, 22); 
    var er = new GMarker(new GLatLng( tmap_u[i].lat, tmap_u[i].lng ), {"icon": icon, "title": tmap_u[i].name+"@汕头开心网"});
    map.addOverlay(er);
    ers.push([er,document.getElementById("map_u_"+i).innerHTML, tmap_u[i].id]);
    if(ers.length > 1)
    {
    mapbounds = 
    new GLatLngBounds(new GLatLng(Math.min(mapbounds.getSouthWest().lat(), tmap_u[i].lat), 
    Math.min(mapbounds.getSouthWest().lng(), tmap_u[i].lng)), 
    new GLatLng(Math.max(mapbounds.getNorthEast().lat(), tmap_u[i].lat), 
    Math.max(mapbounds.getNorthEast().lng(), tmap_u[i].lng)));
    }
    else
    {
    mapbounds = new GLatLngBounds(new GLatLng(tmap_u[i].lat, tmap_u[i].lng), 
    new GLatLng(tmap_u[i].lat, tmap_u[i].lng));
    }
    }map_zoom_out();
    window.setTimeout(map_auto_show, 3000); }</script>
      

  3.   


    <html><head><title></title>
    <script src="http://ditu.google.com/maps?file=api&v=2&key=ABQIAAAAOgfnos4yFQc38pOzRuylIRS5qD906DIaGZugJfg6rKOeHDTzHxQK-ZM8TXF-8Z2Vz3_lfR2l2F2v3A" type="text/javascript" charset="utf-8"> </script> 
    <script type="text/javascript"> // show shops on map 
    var mymap = 'viewmap_index'; 
    var map = null; 
    var mapbounds = new GLatLngBounds(new GLatLng(23.339074, 116.5809596), new GLatLng(0.335218,0.719604)); 
    var ers = []; 
    var current_er = null; 
    var time; function tagstop(){ 
    alert("ok");
      window.clearTimeout(time);  
    } function tagstart(){
    alert("ok"); 
    window.setTimeout(map_auto_show, 6000); 

    function map_show_info(i) 

    if(current_er !== i) 

    ers[i][0].openInfoWindow(ers[i][1], {"maxWidth": 250}); 
    current_er = i; 

    } function map_zoom_in(i) 

    map.setCenter(ers[i][0].getPoint(), 16); 
    } function map_zoom_out() 

    if(current_er !== null) { ers[current_er][0].closeInfoWindow(); } 
    map.setCenter(mapbounds.getCenter(), Math.min(15, map.getBoundsZoomLevel(mapbounds))); 

    function map_set_er(er, i) 

    GEvent.addListener(er, "click", function() { map_show_info(i); }); 
    GEvent.addListener(er, "infowindowclose", function() { current_er = null; }); } 
    function map_auto_show() 

    var next_er; 
    if(current_er === null) next_er = 0; 
    else next_er = current_er + 1; 
    if(next_er === null || next_er >= ers.length) { next_er = 0; } 
    map_show_info(next_er); 
    time=window.setTimeout(map_auto_show, 6000); 
    } if (GBrowserIsCompatible()) 

    map = new GMap2(document.getElementById('viewmap_index')); map.addControl(new GSmallMapControl()); 
    map.addControl(new GScaleControl());         var center = new GLatLng(112.1817398071289,37.20989218842202); 
            map.setCenter(center, 12); 
    for(var i = 0; i < tmap_u.length; i++) 

    var icon = new GIcon(G_DEFAULT_ICON, "http://www.ihappyer.com/image/app/map_icon.png"); 
    G_DEFAULT_ICON.iconSize = new GSize(22, 22); 
    icon.iconSize = new GSize(22, 22); 
    var er = new GMarker(new GLatLng( tmap_u[i].lat, tmap_u[i].lng ), {"icon": icon, "title": tmap_u[i].name+"@汕头开心网"}); 
    map.addOverlay(er); 
    ers.push([er,document.getElementById("map_u_"+i).innerHTML, tmap_u[i].id]); 
    if(ers.length > 1) 

    mapbounds = 
    new GLatLngBounds(new GLatLng(Math.min(mapbounds.getSouthWest().lat(), tmap_u[i].lat), 
    Math.min(mapbounds.getSouthWest().lng(), tmap_u[i].lng)), 
    new GLatLng(Math.max(mapbounds.getNorthEast().lat(), tmap_u[i].lat), 
    Math.max(mapbounds.getNorthEast().lng(), tmap_u[i].lng))); 

    else 

    mapbounds = new GLatLngBounds(new GLatLng(tmap_u[i].lat, tmap_u[i].lng), 
    new GLatLng(tmap_u[i].lat, tmap_u[i].lng)); 

    } map_zoom_out(); 
    window.setTimeout(map_auto_show, 3000); } </script>
    </head><body>
    <div id="map_u_{$key}" onmouseover="tagstop()" onmouseout="tagstart()" style="border:1px solid #f00;"> 
                                                                                    <span style="float:right;" class="avatar"> <a href="space.php?uid=$value[uid]" title="{$_SN[$value[uid]]}" target="_blank"> <!--{avatar($value[uid],small)}--> </a> </span> 
                                                                                    <p>$value[title_template] </p> 
                                                                                    <p> <a href="javascript:map_zoom_in({$key});">放大地图 </a> <a href="javascript:map_zoom_out();">还原地图 </a> </p> 
                                                                                    <p> <a href="space.php?uid=$value[uid]" title="{$_SN[$value[uid]]}" target="_blank">访问&#160;$_SN[$value[uid]]&#160;个人空间 </a> 
                                                                                    </p> </div> </body></html>
    试了试 你的两个函数都能触发 只是里面写的可能不对 所以没达到你的效果 仔细检查一下 看看那里逻辑弄错了~~
      

  4.   

    但我在那个div里用<a href="#"  onmouseover="tagstop()" onmouseout="tagstart()">暂停 </a> 
    确能触发到,会不会跟我那个div的id是连续变化有关呢,就是有  <div id="map_u_{$key}"   外层是loop来改变这个值的!!!
      

  5.   

    是不是js有问题,
    这个跟你的div id 应该没有关系。
      

  6.   

    但是我用<a href="#"  onmouseover="tagstop()" onmouseout="tagstart()">暂停 </a>却可以正常的控制,就放层里就不行,真有点晕倒!!!