如何将两个书签脚本合并为一个,用于切换亮度?

3
我想将这些书签脚本合并成一个脚本,通过单击书签栏中的脚本来切换图像亮度:
javascript:(function(){!function(e) {e.head.appendChild(e.createElement("style"))
  .innerText = ".img,img{-webkit-filter:brightness(50%)}"}(document)})()

并且:

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

我曾试图自己完成,但由于我很久没有使用JavaScript,所以失败了。希望能得到编码或指引的帮助。

谢谢!

2个回答

1

多亏了@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)

1

这个功能通过按下“+”或“-”来实现。请检查:

javascript:(function(d,b,s){s=d.head.appendChild(d.createElement("style"));d.addEventListener('keypress',function(e){if (e.key=='+'&&b<100)b+=10;else if(e.key=='-'&&b>0)b-=10;s.innerText = ".img,img{-webkit-filter:brightness("+b+"%)}"})})(document,100)

更新:

javascript:(function(d,id,b,s){s=d.getElementById(id);if (!s)d.head.appendChild(s=d.createElement("style")).id=id;b=s.brightness=150-(s.brightness || 100);s.innerText = ".img,img{-webkit-filter:brightness("+b+"%)}"})(document,"bookmarklet-brightness")


谢谢,它有效!这比我想要的更多,因为我已经调整了需求,我忘记提到我希望它通过单击书签本身来切换,而不使用任何键。是否可能使其在不使用任何键的情况下工作? - rd51
1
是的,这有点复杂,您必须检查以前书签运行留下的痕迹。最佳候选项是书签工具在文档中留下的样式表。 - Artyom Shegeda
@rd51,我发布了新版本,请检查。 - Artyom Shegeda
非常感谢,它按照我想要的方式工作了! :D 我还修改了您的代码,使用“+”和“-”在50%和100%之间切换亮度。我可以发布吗?如果可以,在哪里发布,评论部分还是应该通过附加代码更新您当前的答案? - rd51
@rd51:你可以将它作为你问题的答案发布。 - Artyom Shegeda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接