【问题标题】:Javascript Image onload function in IEIE中的Javascript图像加载功能
【发布时间】:2011-12-14 23:40:26
【问题描述】:

我试图将图像放在屏幕中间,但在 IE 中它不起作用

这是我的示例代码。

function showMap(event, url, element)
{
        var map_container = $('map_container'),
        viewport = document.viewport.getDimensions(),
        offset = $(element).viewportOffset(),
        top = offset.top + getScrollTop() + $(element).getHeight() + 10,
        image_mapgross = $('image_mapgross');
        image_mapgross.onload = middleMap;
        image_mapgross.src = url;
        map_container.style.cssText = "display:block;left:10px;top:" + top + "px;";

        Event.stop(event);
        //Event.observe(map_container, 'click', stopEvent);
}

IE 中,函数middleMap 永远不会被调用。

function middleMap() {

    var map_container = $('map_container');
    middle(map_container);
}

【问题讨论】:

标签: javascript


【解决方案1】:

如果我这样设置源,在 IE 中

image_mapgross.setAttribute("src", url);

然后就可以了。

【讨论】:

    【解决方案2】:

    使用 writeAttribute() 方法设置原型属性

     $('image_mapgross').writeAttribute('src', url);
    

    旧: 你需要先获取一个 DOM 元素

    image_mapgross = $('image_mapgross').get(); //or  $('image_mapgross')[0]
    

    如果您想使用点表示法设置事件和属性

    image_mapgross.onload = middleMap;
    image_mapgross.src = url;
    

    【讨论】:

    • 函数 ´$('image_mapgross')´ 实际上返回扩展的 DOM 元素。
    • 好的,我看到你正在使用原型框架,请相应地标记你的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 2011-05-05
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多