在对这个主题进行了一些研究之后,我一直在尝试使用模式来组织我的jQuery代码(例如,Rebecca Murphy 在jQuery会议上做过这方面的演示).
昨天我检查了(显示)模块模式.结果看起来有点像我认为的YUI语法:
//global namespace MyNameSpace
if(typeof MNS=="undefined"||!MNS){var MNS={};}
//obfuscate module, just serving as a very simple example
MNS.obfuscate = function(){
//function to create an email address from obfuscated '@'
var email = function(){
$('span.email').each(function(){
var emailAddress = $(this).html().replace(' [ @ ] ','@');
$(this).html('<a href="mailto:' + emailAddress + '">' + emailAddress + '</a>');
});
};
return {
email: email
};
}();
//using the module when the dom's ready
jQuery(document).ready(function($){
MNS.obfuscate.email();
});
Run Code Online (Sandbox Code Playgroud)
最后我有几个模块.一些自然包括"私有成员",在这种情况下,它意味着变量和/或函数,这些变量和/或函数仅对该模块中的其他函数很重要,因此不会在return语句中结束.
我认为将模块中的部分连接(与搜索有关的所有内容)组合在一个模块中是有意义的,给出了整个结构.
但在写完这篇文章 …
我正在尝试在setTimeout函数中使用jQuery语句,但我没有让它工作.我尝试了很多变体,比如这个(我使用'this'因为setTimeout在每个函数中,并且选择器被缓存/存储在一个对象中,因此$ selector):
setTimeout("" + this.$selector + ".val('" + this.savVal + "')", 1);
Run Code Online (Sandbox Code Playgroud)
我该怎么写呢?
谢谢!
我目前正在将一个页面从HTML4移动到HTML5,我有一个问题.页脚中有一堆链接列表.他们中的大多数链接到关于网站本身的信息(常见问题等).所以我认为将它们放在一个nav元素中是可以的(参见"HTML5简介"和HTHML5 Doctor).但是两个列表包含指向Facebook等外部页面的链接.现在我可以把它们放在一边,但这是一个边缘情况:
"将链接包含在网站上的其他页面并且在页脚内部放在一边是合法的 - 但是问问自己是否可以将其作为页脚的兄弟[...]毕竟,其他页面的链接可能是切向与整个页面相关,而不仅仅是页脚的内容." (HTML5简介)
我也可以把它们放在页脚里而不用包裹它们.由于页脚中的所有链接列表都是"可视单元",我现在不想完全从页脚中取出外部链接,即使这在语义方面可能更好.
我正在搜索具有类似页脚的HTML5网站,但找不到任何内容.
你认为最好的方法是什么?
谢谢
我的Polymer组件的模板的一部分应该从JSON响应中呈现未转义的HTML(是的,在这种情况下这样做是安全的).到目前为止,我使用了juicy-html(https://github.com/Juicy/juicy-html),但它不再适用于Polymer 1.x.
我的模板的相应部分看起来非常像这样:
<template if="{{item.part1}}">
<div>
<template is="juicy-html" content="{{item.part1.part2 | callFunction}}"></template>
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
我读了一些关于使用早期版本的Polymer注入HTML的解决方案,但是我想知道是否有一种"规范方式"来实现这个1.x?
目前我正在阅读道格拉斯·克罗克福德(Douglas Crockford)的书,而且河内功能的塔楼有点过头了.即使将日志记录到控制台,我也无法真正了解正在发生的事情.这是我添加的功能:
var hanoi = function (disc, src, aux, dst) {
console.log(disc);
console.log(src, dst);
if (disc > 0) {
hanoi(disc - 1, src, dst, aux);
console.log('Move disc ' + disc + ' from ' + src + ' to ' + dst);
hanoi(disc - 1, aux, src, dst);
}
}
hanoi(3, 'Src', 'Aux', 'Dst');
Run Code Online (Sandbox Code Playgroud)
这导致以下结果:
3
Src Dst
2
Src Aux
1
Src Dst
0
Src Aux
将光盘1从Src移动到Dst
0
Aux Dst
将光盘2从Src移动到Aux
1
Dst Aux
0
Dst Src
将光盘1从Dst移动到Aux
0 …
我对CentOS(5)和node.js都很陌生,但我已经有一个较旧版本的node.js可以在我的虚拟服务器上运行.现在我正在尝试安装更新版本,我知道CentOS需要Python 2.4而节点需要2.6或更新版本,因此我使用altinstall安装了Python 2.7.
但即使我在运行./configure之前为Python指定版本为2.7的别名,我仍然会收到此错误:
/root/node/wscript: error: Traceback (most recent call last):
File "/root/node/tools/wafadmin/Utils.py", line 274, in load_module
exec(compile(code, file_path, 'exec'), module.__dict__)
File "/root/node/wscript", line 222
"-pre" if node_is_release == "0" else ""
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
这是./configure的内容:
#! /bin/sh
# v8 doesn't like ccache
if [ ! -z "`echo $CC | grep ccache`" ]; then
echo "Error: V8 doesn't like cache. Please set your CC env var to 'gcc'"
echo " (ba)sh: export CC=gcc"
exit 1
fi
CUR_DIR=$PWD
#possible relative …Run Code Online (Sandbox Code Playgroud) 我在模板转发器中有几个有条件标记的元素.现在,当我更新数据时,if条件似乎没有生效,这导致undefined传递到处理这些元素的数据的函数.
使用该restamp属性似乎没有帮助(https://www.polymer-project.org/1.0/docs/devguide/templates.html#dom-if).到目前为止,我只能通过清空this.items = [];我的更改处理程序中的items属性来解决这个问题,该处理程序启动了一个新的请求.
这样可行,但在显示新数据之前,模板会在很短的时间内变空.不一定是个问题,但我想知道我做错了什么.
以下是代码的相应部分:
<template>
...
<iron-ajax
id="ironajax"
url="https://www.url.com/api"
params="{{ajaxParams}}"
handle-as="json"
on-response="handleResponse"
on-error="handleError">
</iron-ajax>
...
<template is="dom-repeat" items="{{items}}" id="items">
...
<template is="dom-if" if="{{item.info.subtitle}}">:
<span>{{truncateSubtitle(item.info.subtitle)}}</span
</template>
...
Polymer({
is: 'my-element',
properties: {
query: {
type: String,
value: ''
}
...
items: {
type: Array,
value: []
}
}
...
handleChange: function() {
if (this.value !== '') {
this.items = [];
this.query = this.value;
this.$.ironajax.generateRequest();
}
}
...
Run Code Online (Sandbox Code Playgroud) javascript ×3
jquery ×2
polymer ×2
polymer-1.0 ×2
centos ×1
footer ×1
html5 ×1
nav ×1
node.js ×1
organization ×1
performance ×1
python ×1
recursion ×1
semantics ×1
timeout ×1
variables ×1