小编Jos*_*eph的帖子

使用javascript滚动滚动条或鼠标滚轮后的火灾事件

我想知道是否有可能触发一个事件后,使用滚动条或鼠标滚轮(或带有触摸屏设备上轻扫)当一个页面的滚动.

基本上,我想检测用户何时停止滚动,以便我可以加载AJAX,而不是在滚动时加载.

似乎jQuery's .scroll()每次用户滚动时都会触发,并且一直有事件触发似乎很笨拙.有没有这样的东西.onScrollAfter(),同义词.onMouseUp()

我想知道这是否可行(或者如果函数已经存在)而不使用框架,尽管我会考虑一个; 特别是jQuery.

javascript jquery

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

下划线每次检查{}返回回调

我正在研究UnderscoreJS如何实现他们的each/forEach

//somewhere up top:
var breaker = {};

//then the each function
var each = _.each = _.forEach = function (obj, iterator, context) {
    if (obj == null) return;
    if (nativeForEach && obj.forEach === nativeForEach) {
        obj.forEach(iterator, context);
    } else if (obj.length === +obj.length) {
        for (var i = 0, l = obj.length; i < l; i++) {
            if (iterator.call(context, obj[i], i, obj) === breaker) return;
        }
    } else {
        for (var key in obj) {
            if …
Run Code Online (Sandbox Code Playgroud)

javascript underscore.js

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

从JS闭包创建对象:我应该使用"new"关键字吗?

我用这个样本回答了一个关于闭包的问题:

function Constructor() {
    var privateProperty = 'private';
    var privateMethod = function(){
        alert('called from public method');
    };
    return {
        publicProperty: 'im public',
        publicMethod: function(){
            alert('called from public method');
        },
        getter: privateMethod
    }
}

var myObj = new Constructor();

//public
var pubProp = myObj.publicProperty;
myObj.publicMethod();
myObj.getter();

//private - will cause errors
myObj.privateProperty
myObj.privateMethod
Run Code Online (Sandbox Code Playgroud)

一位用户评论我的回答说:

此外,如果您的函数显式返回一个对象,那么使用new调用它并不是一个好习惯,因为这会产生误导 - 如果使用new,您希望结果是Constructor的一个实例

我通常使用new创建对象.但为什么这不是一个好的做法?似乎使用new而不使用new返回相同的东西.从闭包创建对象的正确方法是什么?

javascript closures

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

boolean参数未正确传递

我是jQuery的新手,我只是试图将一个布尔值传递给一个函数.我尝试了各种修改,但仍然无法正常工作?

我期待警报被解雇

isTrue(true);

function isTrue(boolean isNot){
    if(isNot){
      alert('true');
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript

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

使用JQuery在样式之间切换

下午好,

我正在寻找一种在样式之间切换的方法:

例:

我有两个样式(类),一个使段落变红,另一个使段落变蓝.我只想使用JQuery来调用样式,而不是自己保存样式.

因此,当我单击一个按钮时,段落变为红色,当我再次单击时,它变为蓝色.

同样,我宁愿将样式分开并给出类名,并在两者之间切换JQuery.

我已经搜索了网络,但不断提出显示/隐藏示例,其中样式嵌入到JQuery函数中.

任何想法将不胜感激!

奥维马斯

大家好!这就是我所做的,正如我所提到的,我只是试图在两种风格之间切换.一种风格做了一些事情,例如:使文本变红或改变图像,而另一种风格使另一种事情发生.

感谢每一位耐心的人.你们都有所作为.

我在JQuery Cook Book中找到了答案.第3章事件处理页面69.以下是代码:

$(document).ready(function() {
    $('.normalStyle').click(function(){
        $(this).toggleClass('newStyle');
    });
});
Run Code Online (Sandbox Code Playgroud)

css jquery

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

:添加动态内容时为空伪类

我已在此sitepoint页面quirksmode页面中读到有关新:empty伪类的信息.

Sitepoint表示,即使附加了动态内容,空样式仍然会生效.值得注意的是,firefox就是这样做的人.

Quirksmode说当它填充一些元素或文本时,它会丢弃空状态.此站点上的演示可在我的浏览器中运行(chrome 19).所以我假设只有firefox会出错.

但是我在我的插件中有这段代码,它动态填充一个带有项目的列表,它似乎不起作用,这里是一个附加列表项的小提琴,即使你点击按钮,项目也不会出现,直到您尝试在控制台中调试它(当您单击<li>元素树中时,它们会神奇地出现).

为什么会发生这种情况,是否有一种"强行抛弃"空洞风格的工作?

我知道还有其他方法可以做我在小提琴中做的事情(目前正在做其中一种"其他方式"),但这种:empty方法要容易得多.

更新:

添加了删除项目按钮.删除最后一项时,列表应该消失 - 仍然不起作用.嗯..我会尝试检查另一个浏览器.

固定

临时修复/替代使用:emptydisplay:none是使元件具有零width,height,borders,margins,和paddings.另外,position:absolute将其从流动中移除.

css pseudo-class css3

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

jQuery data()如何打破循环引用

我已经阅读了为什么它更好以及它是如何实现的.但我真正理解的是如何打破循环引用的呢?.

它是如何打破参考圈的?

$(div1).data('item', div2);
$(div2).data('item', div1);
Run Code Online (Sandbox Code Playgroud)

例如,上面的div指向彼此,它是如何被阻止的?我有预感,但我只是想确定我的预感是否正确.

javascript jquery circular-reference

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

仅为特定html元素启用刷新

我想知道如何只刷新我网站中的特定元素,而不是整个网页?我正在谈论的元素是一个加载非常慢的Flash应用程序,可能会遇到连接超时.我想让用户只刷新该元素/ falsh应用程序.我怎么做?下面我有一个Ajax函数来更新HTML元素,但不知道如何将它应用到我的情况.

<head>
    <script type="text/javascript">
        function loadXMLDoc() {
            var xmlhttp;
            if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else { // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function () {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET", "ajax_info.txt", true);
            xmlhttp.send();
        }
    </script>
</head>
<body>
    <div id="myDiv">
        <h2>Let AJAX change this text</h2>
    </div>
    <button type="button" onclick="loadXMLDoc()">Change Content</button>
</body>
Run Code Online (Sandbox Code Playgroud)

html javascript ajax

9
推荐指数
2
解决办法
10万
查看次数

可点击的<li>使用<a>标签 - 不使用JS.这是合法的HTML吗?

好吧,我已经多次读过内联元素永远不应该包含块元素.我同意,这有问题,之后会变得混乱.但我发现它是执行以下操作的唯一解决方案:

我正在尝试创建一个模仿Metro UI"tiles"的HTML模板(是的,是Windows 8中的那个).瓷砖是使用<li>元素制作的.现在,问题是我希望tile(整个<li>标签)可以点击,但正确的HTML告诉我你不能用一个内联元素包围一个块元素.此外,你不能围绕<li>一个<a>.有没有任何方法这样做而不违反HTML的规则?

html css

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

jQuery/Javascript在分配中无效左侧

我使用这个相对简单的代码:

var height = help ? 'minus' : 'plus';
var prop = $('#properties');

if(height == 'minus'){
    prop.height(prop.height() -= 206);
} else {
    prop.height(prop.height() += 206);
}
Run Code Online (Sandbox Code Playgroud)

在添加/减少的两行上都失败了!有任何想法吗?

javascript jquery

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