Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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 如何使用复选框修改HREF?_Javascript - Fatal编程技术网

Javascript 如何使用复选框修改HREF?

Javascript 如何使用复选框修改HREF?,javascript,Javascript,我正在制作一个带有用户首选项复选框的图像库,当单击缩略图时,该复选框将显示一个大图像或特大图像。页面上有一个表单元素,如下所示: <input type="checkbox" name="targetbox" id="pref" onclick="supersize(this.checked);"> <label for="pref">Supersize Pics</label> <a href="images/large/image1.jpg

我正在制作一个带有用户首选项复选框的图像库,当单击缩略图时,该复选框将显示一个大图像或特大图像。页面上有一个表单元素,如下所示:

<input type="checkbox" name="targetbox" id="pref"
    onclick="supersize(this.checked);">
<label for="pref">Supersize Pics</label>
<a href="images/large/image1.jpg"><img src="images/thumbs/image1.jpg" /></a>

超大图片
我还有一个链接和缩略图,如下所示:

<input type="checkbox" name="targetbox" id="pref"
    onclick="supersize(this.checked);">
<label for="pref">Supersize Pics</label>
<a href="images/large/image1.jpg"><img src="images/thumbs/image1.jpg" /></a>

给我带来麻烦的部分是JavaScript。以下是迄今为止我所能拼凑的:

<script language="JavaScript">
    function supersize(checkme) {
        if (checkme)
            where = "images/super/";
        else
            where = "images/large/";

        for (var i=0; i<=(document.links.length-1); i++) {
            document.links[i].href = where;
        }
    }
</script>

函数超大小(checkme){
如果(检查我)
其中=“images/super/”;
其他的
其中=“images/large/”;

对于(var i=0;i我建议使用一个简单的
replace()

当然,这将简单地用
super
字符串替换
large
字符串,反之亦然

参考资料:

如果知道最后一个值,可以使用
replace()

document.links[i].href = document.links[i].href.replace("last/value/goes/here/", where);
试试这个功能

hrefLink.lastIndexOf(“/”)+1获取最后一个“/”的位置,.substr()获取图像名称,该名称稍后可以附加到任何您想要的内容中

<script language="JavaScript">
   function supersize(checkme) {
      if (checkme)
         where = "images/super/";
      else
         where = "images/large/";
      for (var i=0; i<=(document.links.length-1); i++) {
         hrefLink = document.links[i].href;     
         imgName =  hrefLink.substr(hrefLink.lastIndexOf('/')+1);
         document.links[i].href = where+imgName;
      }
   }
</script>

函数超大小(checkme){
如果(检查我)
其中=“images/super/”;
其他的
其中=“images/large/”;

对于(var i=0;Ifi),人们通常使用
i
而不是
i