【问题标题】:how to do this with javascript? it's like a toggle but I don't seem to find toggle function如何用javascript做到这一点?这就像一个切换,但我似乎没有找到切换功能
【发布时间】:2013-03-23 05:22:53
【问题描述】:

我正在尝试使用 javascript 而不是 jquery 来执行此操作。 我想点击一张图片,然后图片会有边框,但如果我再次点击它,边框就会消失。不知道是怎么做到的,谁能帮帮我?

allImages = document.getElementsByTagName("img");

    for(i=0;i<allImages.length;i++)
{
    allImages[i].onclick=function()
    {
    this.style.borderColor="red";
    this.style.borderStyle="solid";
    }
}

【问题讨论】:

  • 我们可以查看您的 HTML 吗?我们可以看到您当前的代码吗?您具体在寻找哪些 DOM 方法?
  • 我还没有得到任何东西,因为我的脑海中似乎还没有一个想法,但我使用的是 dom1 而不是 dom0。我知道 onclick 功能,但它不会切换。
  • @user1850712 我们可以看到你的代码吗?
  • 这只是我现在能想到的,但是你....

标签: javascript image toggle border


【解决方案1】:

要切换带有 id 的图像,请尝试此代码

var img = document.getElementById('image-id');

if( ! img.hasBorder ) {

     img.style.border="2px solid #f00";
     img.hasBorder = true;

} else {

     img.style.border = "";
     img.hasBorder = false;

}

更新代码

allImages = document.getElementsByTagName("img");

for(i=0; i< allImages.length; i++ )
{
    allImages[i].onclick = function( e )
    {
           this.style.border = ( this.style.border == '')? "2px solid red":'';
    }
}

【讨论】:

【解决方案2】:

你可以做的是创建两个类,一个有边框,第二个没有边框。

现在当事件触发时检查第一类是否适用,然后将其删除并应用第二类。

示例

var test = document.getElementById("test");
var testClass = test.className;

testClass = ( testClass == "first") ? "second" : "first";

【讨论】:

  • 一行testClass = ( testClass == "first") ? "second" : "first";
【解决方案3】:

试试:

document.getElementById('id').style.border

【讨论】:

    【解决方案4】:

    试试

    // 显示

    document.getElementById('element').style.border = 'red';
    

    //隐藏

    document.getElementById('element').style.border = 'none';
    

    【讨论】:

      【解决方案5】:
      var img = document.getElementById('image-id');
      img.style.border = img.style.border ? "" : "2px solid red";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-19
        • 2020-04-13
        • 1970-01-01
        相关资源
        最近更新 更多