function showpic(whichpic) {
var source = whichpic.getAttribute("href");
if(!document.getElementById("placeholder")) return false;
var placeholder = document.getElementById("placeholder");
placeholder.setAttribute("src",source);
var sourcetitle = whichpic.getAttribute("title");
placeholder.setAttribute("title",sourcetitle);
if(document.getElementById("changetxt")){
var txt = document.getElementById("changetxt");
txt.firstChild.nodeValue = sourcetitle;
}
return true;
}
function prepareGallery() {
if(!document.getElementsByClassName){
return false;
}
if(!document.getElementById){
return false;
}
if(!document.getElementById("new")){
return false;
}
var ul = document.getElementById("new");
var link = ul.getElementsByTagName("a");
for(var i=0;i<link.length;i++){
link[i].onclick = function () {
return !showpic(this);
}
}
}
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
有以下几点给自己看的说明
1.
if(!document.getElementById("placeholder")) return false;
这个是一个检测机制 如果没找到这个东西 那么就会有一个返回值 稍后会讲的如何处理这个返回值 这个是方法的主要方法 他必须达到 不可省略
2.
if(document.getElementById("changetxt")){
var txt = document.getElementById("changetxt");
txt.firstChild.nodeValue = sourcetitle;
}
return true;
这是另外一种检测机制 用于次要的方法 如果没达到 没关系 直接略过就OK
最后返回一个ture表示js代码成功了
3.
link[i].onclick = function () {
return !showpic(this);
}
这就用到了之前的返回值 因为在方法里 失败的返回是false 成功的返回ture
而onclick的判别是ture触发默认的机制 false才是不触发 所以要用!来进行反
4.
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
一个封装好的激活方法的东西
通过他可以增加很多的页面加载完成后启动的方法
自动队列 那过来直接用就OK。
js一定要分离 且平稳退化