Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将两个bookmarklet组合成一个来切换亮度?_Javascript_Html_Css_Bookmarklet - Fatal编程技术网

Javascript 如何将两个bookmarklet组合成一个来切换亮度?

Javascript 如何将两个bookmarklet组合成一个来切换亮度?,javascript,html,css,bookmarklet,Javascript,Html,Css,Bookmarklet,我希望通过单击书签栏中的书签,将这些书签组合成一个用于切换图像亮度的书签: javascript:(function(){!function(e) {e.head.appendChild(e.createElement("style")) .innerText = ".img,img{-webkit-filter:brightness(50%)}"}(document)})() 以及: 我试着自己做,但我失败了,因为我已经很久没有使用javascript了。任何帮助,无论是编码或通过指出我

我希望通过单击书签栏中的书签,将这些书签组合成一个用于切换图像亮度的书签:

javascript:(function(){!function(e) {e.head.appendChild(e.createElement("style"))
  .innerText = ".img,img{-webkit-filter:brightness(50%)}"}(document)})()
以及:

我试着自己做,但我失败了,因为我已经很久没有使用javascript了。任何帮助,无论是编码或通过指出我的正确方向将不胜感激

谢谢大家!

它通过按“+”或“-”来工作。检查它:

javascript:(函数(d,b,s){s=d.head.appendChild(d.createElement(“style”));d.addEventListener('keypress',函数(e){if(e.key='+'&&b0)b-=10;s.innerText=“.img,img{-webkit过滤器:亮度('b+“%)}])(文档,100)

更新:


javascript:(函数(d,id,b,s){s=d.getElementById(id);if(!s)d.head.appendChild(s=d.createElement(“样式”)).id=id;b=s.brightness=150-(s.brightness | | 100);s.innerText=“.img,img{-webkit过滤器:亮度(+b+“%”)})(文档,“bookmarklet亮度”)

多亏@Artyom Shegeda的代码,我通过按“+”和“-”键,使用以下代码,成功地将图像亮度在50%和100%之间切换:

javascript:(function(d,b,s){
  s=d.head.appendChild(d.createElement("style"));
  d.addEventListener('keypress', function(e){
    if (e.key=='+'&&b<100)
       b+=50;
    else if (e.key=='-'&&b>50)
       b-=50;
    s.innerText = ".img,img{-webkit-filter:brightness("+b+"%)}"
  })
})(document,100)
javascript:(函数(d,b,s){
s=d.head.appendChild(d.createElement(“样式”);
d、 addEventListener(“按键”,功能(e){
如果(e.key='+'&&b50)
b-=50;
s、 innerText=“.img,img{-webkit过滤器:亮度(“+b+”%)}”
})
})(第100号文件)

谢谢,它很有效!这比我想要的要多,因为我已经调整了要求,因为我忘了提到我希望它通过单击bookmarklet本身来切换,而不使用任何键。不使用任何钥匙也能使它工作吗?是的。它稍微复杂一点,您必须检查上一次运行bookmarklet时留下的足迹。最佳候选样式表是bookmarklet留在文档中的样式表。@rd51,我发布了新版本。请检查非常感谢,它按照我的要求工作!:我还修改了您的代码,通过使用“+”和“-”在50%和100%亮度之间切换。我可以邮寄吗?如果可以,我应该在哪里做,在评论部分,或者我应该通过添加代码来更新您当前的答案?@rd51:您可以将其作为您问题的答案发布
javascript:(function(d,b,s){
  s=d.head.appendChild(d.createElement("style"));
  d.addEventListener('keypress', function(e){
    if (e.key=='+'&&b<100)
       b+=50;
    else if (e.key=='-'&&b>50)
       b-=50;
    s.innerText = ".img,img{-webkit-filter:brightness("+b+"%)}"
  })
})(document,100)