小编Wes*_*ley的帖子

异步加载javascript - 如何进行回调?

我正在构建一个应该异步加载的javascript小部件.

问题是页面上可能有多个这样的小部件,并且应该通过{}向它发送一个选项数组来初始化小部件.

完成此任务的最佳方法是什么?我听说简单地设置onload或onreadystatechange并不适用于所有浏览器.

我已经检查了digg小部件,但我无法理解他们正在做什么,有人可以看看吗?

这是他们的一些代码:

(function () {
var s, s1, diggWidget = {
    id: "digg-widget-1282651415272",
    width: 300,
    display: "tabbed"
};
if (window.DiggWidget) {
    if (typeof DiggWidget == 'function') {
        new DiggWidget(diggWidget);
    } else {
        DiggWidget.push(diggWidget);
    }
} else {
    DiggWidget = [diggWidget];
    s = document.createElement('SCRIPT');
    s.type = 'text/javascript';
    s.async = true;
    s.src = 'http://widgets.digg.com/widgets.js';
    s1 = document.getElementsByTagName('SCRIPT')[0];
    s1.parentNode.insertBefore(s, s1);
}
})();
Run Code Online (Sandbox Code Playgroud)

因此,如果DiggWidget已经可用(由于多个实例而早先加载),如果DiggWidget是一个函数,它会生成一个新的小部件,否则DiggWidget将用作数组并将当前设置推送到它.

首先,为什么DiggWidget会成为一个功能?

如果窗口小部件是唯一的(或第一个),则异步添加脚本标记,不定义回调.

然后,看看widgets.js他们这样做:

在顶部:

(function () {
var A;
if (window.DiggWidget) {
    if (typeof DiggWidget != "function") …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous widget callback

1
推荐指数
1
解决办法
1047
查看次数

在图像加载时在图像内加载指示器

我非常喜欢这里给出的效果:

http://rascals.eu/templates/rt0802/portfolios/portfolio-2-columns/

但问题是,如果你看一下源代码,你会发现它没有 - 它都是通过jquery完成的,并且链接是这样创建的:

<a href="xxx.jpg" rel="lightbox[portfolio]" style="width: 446px; height: 205px" class="autoload hover" data-image_url="yyy.jpg"></a>                                                                                               
Run Code Online (Sandbox Code Playgroud)

可能在后台创建的图像,然后在加载时插入该位置.

但是,这可能以不同的方式,更符合标准的方式吗?任何人都可以指导我去任何资源/教程吗?

谢谢.

编辑:符合标准我的意思是:

img src指向正确的位置,以便在禁用js时仍然显示图像.

jquery image loading indicator

1
推荐指数
1
解决办法
2311
查看次数

var a,b,c = {}

我以为语法:

var a, b, c = {};
Run Code Online (Sandbox Code Playgroud)

意味着这三个变量是分开的,而不是对同一个{}的引用.

这是因为{}是一个对象,这是标准行为吗?

所以,如果我这样做:

var a, b, c = 0;
Run Code Online (Sandbox Code Playgroud)

三者确实是分开的而不是参考?

谢谢,韦斯利

javascript reference object assignment-operator

1
推荐指数
1
解决办法
1万
查看次数

表样式 - col类应该覆盖td类..怎么样?

看到这个小提琴:

http://jsfiddle.net/uqJHf/

我已将第一列设置为以红色背景显示.

但是,奇数/偶数样式会覆盖它.即使添加了!important;

有什么方法可以解决这个问题吗?(无需添加类

tr.row_odd td {
    background:#efefef;
}
tr.row_even td {
    background:green;
}
.col1  { background:red !important; }

<table>
<col class="col1"></col>
<tr class="row_odd"><td>test</td><td>test</td></tr>
<tr class="row_even"><td>test</td><td>test</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

css html-table

1
推荐指数
1
解决办法
4100
查看次数

溢出:隐藏在IE7中工作

任何人都知道如何在IE7中使用它?

图像并排显示(由于溢出)而不是滑块.

http://tympanus.net/Tutorials/PortfolioZoomSlider/

我尝试设置overflow:hidden,.thumb_wrapper但下一张幻灯片的一部分仍然闪耀并覆盖箭头.

css jquery overflow internet-explorer-7

1
推荐指数
1
解决办法
653
查看次数

$ .jsonp没有缓存

我正在使用第三方jsonp库进行jquery.在调用它时,您可以将缓存设置为true.

但是,在检入HTTP嗅探器时,似乎所有请求仍然被发送到服务器.

这与picasa,flickr和youtube API.

什么可能导致这种行为?它似乎不是浏览器特定的,因为我在多个浏览器中测试它并且所有行为都相同(不是缓存).

调用的URL不会从一个请求更改为另一个请求,并且调用如下所示:

        $.jsonp({
            url: url,
            cache: true,
            async: false,
            dataType: 'jsonp',
            data: $.extend({ url: options.dataUrl, method: lookupData.method }, fixedOptions),
            callbackParameter: "jsoncallback",
            success: function(data)
            {
                $.extend(datasourceOptions, lookupData.onData(data));
                getData();
            }
        });
Run Code Online (Sandbox Code Playgroud)

关于我的设置唯一的"奇怪"的事情是,将调用.jsonp脚本通过一个包括阿贾克斯调用本身..莫非是这里的问题?听起来很遥远,但......

谢谢,韦斯利

编辑:好的,4个中有3个有Expires头设置..

但是,第四个没有,只有这些:

Cache-Control:private Vary:Accept-Encoding Access-Control-Allow-Origin:*Connection:close

(这是flickr)

那里发生了什么?

另外,是不是可以通过jquery以某种方式覆盖头缓存指令?

javascript browser jquery caching jsonp

0
推荐指数
1
解决办法
2830
查看次数

绘制图表库:仅在悬停时在折线图上显示点?

使用flot库,如何只在悬停在线上的那个位置时显示该点?我不希望所有的点一直都可见..

类似于谷歌的做法:请参阅第一个示例:http://code.google.com/apis/chart/interactive/docs/gallery/linechart.html

因为我需要结合多种图表类型,所以无法使用谷歌.我也喜欢谷歌,你不必将鼠标悬停在确切点上,足够接近并且也会触发工具提示.

可以这样做吗?还是其他任何图书馆?

编辑:这些人似乎都在使用flot,但我不确定他们是怎么做到的?https://www.portfolionumbers.com/tools/risk/report

javascript jquery charts graph flot

0
推荐指数
1
解决办法
6169
查看次数

当通过javascript添加"目标":"空白"到链接时,打开的标签是"回收"(重复使用) - 任何防止方法?

至少在safari中,与动态添加的目标的所有链接都将在同一选项卡中打开.我希望所有链接都在新选项卡中打开,这是在HTML(静态)中指定目标时的默认行为.

有解决方法吗?

<html>
<body>
<script type='text/javascript' charset='utf-8' src='https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'></script>

<script type="text/javascript">
$(document).ready(function() {
    $('a').attr({'target': 'blank'});
});
</script>
<a href="http://www.google.com">google</a> - <a href="http://www.yahoo.com">yahoo</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html javascript jquery hyperlink

0
推荐指数
1
解决办法
137
查看次数