我试图创建一个JS Bookmarklet,当用户点击时,图像在页面上的绝对位置div中打开,当前只能查看我不知道如何查看。
我有以下
newDiv=document.createElement("div");
var img=document.createElement('img');
img.src='http://www.dannemann.com/images/lensflarePhilosophy.png';
newDiv.appendChild(img);
my_div=document.body("org_div1");
document.body.append(newDiv)
并且我试过压缩它并添加Javascript:在它之前没有运气......
答案 0 :(得分:0)
确保在制作bookmarklet时包装代码。
javascript:(function(){
newDiv=document.createElement("div");
var img=document.createElement('img');
img.src='http://www.dannemann.com/images/lensflarePhilosophy.png';
newDiv.appendChild(img);
var bodyTag = document.getElementsByTagName('body') [0];
bodyTag.appendChild(newDiv)
})();
答案 1 :(得分:0)
更优化的版本:
(function(){var d=document.createElement('div');d.innerHTML='<img src=\'http://www.dannemann.com/images/lensflarePhilosophy.png\' />';d.setAttribute('style','position:absolute;top:0;left:0;width:100%;height:100%;background:#666');document.body.appendChild(d);})()
可读:
var d = document.createElement('div');
d.innerHTML = '<img src=\'http://www.dannemann.com/images/lensflarePhilosophy.png\' />';
d.setAttribute('style','position:absolute;top:0;left:0;width:100%;height:100%;background:#666')
document.body.appendChild(d);
<小时/> 你去吧:
(function(){var div=document.createElement('div');var a=div.style;div.innerHTML='<img src=\'http://www.dannemann.com/images/lensflarePhilosophy.png\' />';a.position='absolute';a.top=0;a.left=0;a.width='100%';a.height='100%';a.background='#666';document.body.appendChild(div);})()
可读版本:
var div = document.createElement('div');
var a = div.style;
div.innerHTML = '<img src=\'http://www.dannemann.com/images/lensflarePhilosophy.png\' />';
a.position = 'absolute';
a.top = 0;
a.left = 0;
a.width = '100%';
a.height = '100%';
a.background = '#666';
document.body.appendChild(div);
<小时/> 只是一些要点:
append
(append
用于jQuery)。它是appendChild
。div
下嵌套一些标记,只需使用innerHTML
的{{1}}。无需再次使用div
。createElement
s,最好使用style
,因为它是一个书签,您的代码必须占用尽可能少的空间。答案 2 :(得分:0)
答案 3 :(得分:0)
尝试这样(造型等等,当然,一切都取决于你,这是一个例子):
javascript:(function(){var newDiv,img;
if (!document.querySelector('#imgoverlay')){
newDiv = document.createElement("div");
newDiv.id = 'imgoverlay';
document.body.appendChild(newDiv);
with (newDiv.style){
position = 'absolute';
top: '0';
bottom = '0';
left = '0';
right = '0';
textAlign = 'center';
}
} else {
newDiv = document.querySelector('#imgoverlay');
}
newDiv.innerHTML = '';
img = new Image();
img.style.margin = '0 auto';
img.style.verticalAlign = 'middle';
img.src ='http://www.dannemann.com/images/lensflarePhilosophy.png';
newDiv.appendChild(img);}())
这里显示出灿烂的阳光;)