标签: mootools

当我专门检查它的存在时,控制台没有定义

我正在编写一个快速日志函数来包装本机,console.log以防止以后在开发中出现错误(比如console.log代码中的遗忘语句).我正在使用mootools $defined$type函数来检查是否存在控制台和console.log函数,然后再调用它.但是当我禁用firebug时,我在firefox中遇到以下错误.

错误:未定义控制台
源文件:http://diagnostic.localhost/js/emp.custom.js
行:6

EMP.log = function() {
 if (DEBUG && $defined(console) && $type(console.log) == 'function') { //line 6
  var args = Array.prototype.slice.call(arguments); //turn arguments into array
  console.log.pass(args);
 }
}
Run Code Online (Sandbox Code Playgroud)

似乎使用$defined应该消除这个错误,所以有没有人有任何想法可能是什么问题?

我正在使用mootools v1.2.3.

编辑:我尝试了以下,他们也给了他们同样的错误:

if (DEBUG && $type(console) == "object" && $type(console.log) == 'function') {

if (DEBUG && $chk(console) && $type(console.log) == 'function') {
Run Code Online (Sandbox Code Playgroud)

javascript mootools

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

什么是MooTools Javascript中的(函数($))

我正在阅读David Walsh关于使用MooTools创建精灵菜单的帖子.我是MooTools的新手,我不明白他打开剧本的方式.特别是,是什么

(function($){
..
})(document.id)
Run Code Online (Sandbox Code Playgroud)

它是一种JS闭包吗?

如果您不想关注该链接,请参阅完整脚本:

(function($) {
    window.addEvent('domready',function() {
    $('nav').getElements('li').each(function(li) {
        //settings
        var link = li.getFirst('a');
        //fix background image
        if(!li.hasClass('current')) {
            link.setStyle('background-image','none');
        }
        //utility div
        var div = new Element('div',{
            'class': 'nav-' + li.get('id'),
            opacity: 0
        }).inject(li);
        //background imagery
        li.addEvents({
            mouseenter: function() {
                div.fade('in');
            },
            mouseleave: function() {
                div.fade('out');
            },
            mousedown: function() {
                div.addClass('nav-' + li.get('id') + '-click');
            },
            mouseup: function() {
                div.removeClass('nav-' + li.get('id') + '-click');
            }
        });
    });
});
})(document.id);
Run Code Online (Sandbox Code Playgroud)

javascript mootools

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

是否可以将MooTools与Prototype和JQuery UI混合使用?

我想使用这些东西.我希望他们选择聪明的命名约定来防止与其所有函数和类的冲突?有人在一个网站上同时使用所有这些吗?

javascript jquery mootools jquery-ui prototypejs

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

如何使用MooTools和Request.HTML从远程页面获取元素?

我正在使用MooTools(项目的一部分)来加载页面,使用Request.HTML它可以正常工作,除了我不想要整个页面,只有一个具有id的片段.

这是有问题的代码

var req = new Request.HTML({
    onSuccess: function( res ) {
        // according to the docs
        // res should be the node list of the remote response
        // I want to grab #myFragment

        var f = res.getElementById('myFragment');
        // res.getElementById is not a function

        var f = $(res).getElementById('myFragment');
        // $(res) is null ?

        var f = $$(res).getElementById('myFragment');
        // [null, null] ??


        // more code

    }
}).get('/myurl');
Run Code Online (Sandbox Code Playgroud)

我很确定这一定是可能的,我可以抓住有类的元素.有谁知道如何做到这一点.

谢谢 )

javascript mootools

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

mootools"这"在每个?

可能误解了一些简单的东西,但我似乎无法让它发挥作用.

我想:通过"wrapper"中的每个img元素,并从title属性中删除所有html(使用来自mootools的stripTags()更多).我收到错误:

"this.get不是一个函数"

这是代码:

$('wrapper').getElements('img').each(function() {

    var oldAlt = this.get('title').stripTags();
    this.setProperty('alt', oldAlt);

});
Run Code Online (Sandbox Code Playgroud)

提前致谢

javascript mootools

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

为什么变量在函数外声明为null?

我用mootools做了这个:

$("fox").addEvent("click", function(){
alert("clicked");
});
Run Code Online (Sandbox Code Playgroud)

和HTML:

<p id="fox">A</p>
Run Code Online (Sandbox Code Playgroud)

现在,如果我在这里尝试它http://jsfiddle.net/5uJ54/3/,它的工作原理,但如果我在浏览器中尝试它,这就是它没有的所有代码,我在firebug得到这个:

$("fox") is null
Run Code Online (Sandbox Code Playgroud)

它也不适用于铬.

为什么会这样?我也尝试将所有内容放在一个函数中,但它仍然无法正常工作.

javascript mootools

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

mootools:我如何在一个页面中放置10,000个<div>标签

我在mootools开发了一个应用程序.但它包含的标签数量很少,几乎是10,000.每个标签的结构如下:

<div style="float:left;padding:5px;margin: 6px;"> <!-- tag-1 -->
 <img src=""> <p>name</p> <p>Gender</p> <p>Mood</p> 
</div>
Run Code Online (Sandbox Code Playgroud)

在以下容器中

<div id="tags_container" style="overflow: scroll;height: 700px;">
 <div style="float:left;padding:5px;margin: 6px;"> <!-- tag-1 -->
  <img src=""> <p>name</p> <p>Gender</p> <p>Mood</p> 
 </div>
 <!-- tag-2 -->
   .  
   .
   .
 <!-- all tags one after another -->
</div>
Run Code Online (Sandbox Code Playgroud)

我以行和列格式显示这些标签(5列和2000行).id ="tags_container"<div>具有垂直滚动条.但当我尝试向下滚动该分区以查看更多标签时,它滚动的速度很慢.

我该怎么办呢?

我应该将实现方法从<div>标签更改为<table>标签吗?

有什么选择让它更快?

在之前的几个问题中,我被建议不要在一个单独的文档中使用那么多标签,但是会有那么多标签,所以我该怎么办呢.

javascript mootools javascript-framework

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

mootools:从HTML创建一个新的DOM元素

如何在Mootools中从字符串(从ajax传递)创建DOM元素?

在jQuery中,一个简单的解决方案是 $( elements )

var elements = '<i>This is italic</i><b>this bold</b>...';
Run Code Online (Sandbox Code Playgroud)

javascript mootools

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

Mootools相当于jQuery之前的版本

mootools有相当于jQuery的before吗?或者如果没有,我如何在mootools中执行类似的功能?

例如,我从ajax获得结果,我想在某个元素之前插入结果的HTML代码.

<div class="elements">
  <div class="element"></div>
  <div class="element"></div>
  <div class="element"></div>

  </div class="loader"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想之前插入一些HTML代码(这是字符串).loader.我不能在这个问题上使用JSON或HTML like对象.

我有将HTML插入div的功能:

function appendHTML(elem, html){
    if ($type(html) != 'string') return false;
    var temp = new Element('div');
    temp.set('html', html);
    elem.adopt(temp.childNodes);
    return this;
}
Run Code Online (Sandbox Code Playgroud)

但我想在div之前插入HTML代码,而不是插入.谢谢!

jquery mootools

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

如何在mootools中通过id一次向多个元素添加事件?

我有两个元素ID,a和b.我想做这样的事情:

[$('a'), $('b')].addEvent('click', myFunction);
Run Code Online (Sandbox Code Playgroud)

但该特定代码给出"TypeError :(中间值).addEvent不是函数".

我是否需要显式循环(或复制addEvent调用)?

[$('a'), $('b')].each(function(el){
    el.addEvent('click', myFunction);
});
Run Code Online (Sandbox Code Playgroud)

要么

$('a').addEvent('click', myFunction);
$('b').addEvent('click', myFunction);
Run Code Online (Sandbox Code Playgroud)

还是有更干净的方式?

mootools

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