2017-10-16 54 views
1

我正在創建過濾器圖像庫。默認情況下,當頁面加載顯示所有圖像時。我有兩個四種不同的標籤Filter By Image不想顯示所有圖像

1.顯示所有2.Nature 3.汽車4人

現在我不希望所有的圖像表現。默認情況下,我想在加載頁面後默認顯示自然過濾器圖像。

請檢查我的代碼:Code is here

還附上我的代碼

filterSelection("all") 
 
    function filterSelection(c) { 
 
     var x, i; 
 
     x = document.getElementsByClassName("column"); 
 
     if (c == "all") c = ""; 
 
     for (i = 0; i < x.length; i++) { 
 
     w3RemoveClass(x[i], "show"); 
 
     if (x[i].className.indexOf(c) > -1) w3AddClass(x[i], "show"); 
 
     } 
 
    } 
 
    
 
    function w3AddClass(element, name) { 
 
     var i, arr1, arr2; 
 
     arr1 = element.className.split(" "); 
 
     arr2 = name.split(" "); 
 
     for (i = 0; i < arr2.length; i++) { 
 
     if (arr1.indexOf(arr2[i]) == -1) {element.className += " " + arr2[i];} 
 
     } 
 
    } 
 
    
 
    function w3RemoveClass(element, name) { 
 
     var i, arr1, arr2; 
 
     arr1 = element.className.split(" "); 
 
     arr2 = name.split(" "); 
 
     for (i = 0; i < arr2.length; i++) { 
 
     while (arr1.indexOf(arr2[i]) > -1) { 
 
      arr1.splice(arr1.indexOf(arr2[i]), 1);  
 
     } 
 
     } 
 
     element.className = arr1.join(" "); 
 
    }
* { 
 
    box-sizing: border-box; 
 
} 
 

 
body { 
 
    background-color: #f1f1f1; 
 
    padding: 20px; 
 
    font-family: Arial; 
 
} 
 

 
/* Center website */ 
 
.main { 
 
    max-width: 1000px; 
 
    margin: auto; 
 
} 
 

 
h1 { 
 
    font-size: 50px; 
 
    word-break: break-all; 
 
} 
 

 
.row { 
 
    margin: 10px -16px; 
 
} 
 

 
/* Add padding BETWEEN each column */ 
 
.row, 
 
.row > .column { 
 
    padding: 8px; 
 
} 
 

 
/* Create three equal columns that floats next to each other */ 
 
.column { 
 
    float: left; 
 
    width: 33.33%; 
 
    display: none; /* Hide all elements by default */ 
 
} 
 

 
/* Clear floats after rows */ 
 
.row:after { 
 
    content: ""; 
 
    display: table; 
 
    clear: both; 
 
} 
 

 
/* Content */ 
 
.content { 
 
    background-color: white; 
 
    padding: 10px; 
 
} 
 

 
/* The "show" class is added to the filtered elements */ 
 
.show { 
 
    display: block; 
 
}
<div class="main"> 
 

 
\t <h1>MYLOGO.COM</h1> 
 
\t <hr> 
 

 
\t <h2>PORTFOLIO</h2> 
 
\t <input type="radio" onclick="filterSelection('all')" name="category" checked> Show all 
 
\t <input type="radio" onclick="filterSelection('nature')" name="category"> Nature 
 
\t <input type="radio" onclick="filterSelection('cars')" name="category"> Cars 
 
\t <input type="radio" onclick="filterSelection('people')" name="category"> People 
 

 
<div class="main"> 
 

 
<h1>MYLOGO.COM</h1> 
 
<hr> 
 

 
<h2>PORTFOLIO</h2> 
 
<input type="radio" onclick="filterSelection('all')" name="category" checked> Show all 
 
<input type="radio" onclick="filterSelection('nature')" name="category"> Nature 
 
<input type="radio" onclick="filterSelection('cars')" name="category"> Cars 
 
<input type="radio" onclick="filterSelection('people')" name="category"> People 
 

 
<!-- Portfolio Gallery Grid --> 
 
<div class="row"> 
 
\t <div class="column nature"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/mountains.jpg" alt="Mountains" style="width:100%"> 
 
\t \t \t <h4>Mountains</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="column nature"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/lights.jpg" alt="Lights" style="width:100%"> 
 
\t \t \t <h4>Lights</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="column nature"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/nature.jpg" alt="Nature" style="width:100%"> 
 
\t \t \t <h4>Forest</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 

 
\t <div class="column cars"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/cars1.jpg" alt="Car" style="width:100%"> 
 
\t \t \t <h4>Retro</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="column cars"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/cars2.jpg" alt="Car" style="width:100%"> 
 
\t \t \t <h4>Fast</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="column cars"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/cars3.jpg" alt="Car" style="width:100%"> 
 
\t \t \t <h4>Classic</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 

 
\t <div class="column people"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/people1.jpg" alt="Car" style="width:100%"> 
 
\t \t \t <h4>Girl</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="column people"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/people2.jpg" alt="Car" style="width:100%"> 
 
\t \t \t <h4>Man</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="column people"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/people3.jpg" alt="Car" style="width:100%"> 
 
\t \t \t <h4>Woman</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <!-- END GRID --> 
 
</div> 
 

 
<!-- END MAIN --> 
 
</div>

如何更改默認性質我不希望顯示的所有圖像。我累了,但仍然顯示所有圖像。謝謝你提前

回答

1

我希望這會爲你工作:

window.onload = function() { 
document.getElementById('nature').checked=true; 
filterSelection('nature'); 
} 

我已經創建了分叉鏈接:https://codepen.io/tavishaggarwal/pen/RLevRg。 請讓我知道如果仍然沒有解決您的問題。

+0

它我也想工作的只有大自然保持標籤也沒有顯示所有 – sripriya

+0

感謝你這麼太多 – sripriya

2

修改js文件這一行:

filterSelection("all") 

通過

filterSelection("nature") 

,並在 「所有」 無線電刪除選中,並在 「自然」 無線電加簽

filterSelection("nature") 
 
    function filterSelection(c) { 
 
     var x, i; 
 
     x = document.getElementsByClassName("column"); 
 
     if (c == "all") c = ""; 
 
     for (i = 0; i < x.length; i++) { 
 
     w3RemoveClass(x[i], "show"); 
 
     if (x[i].className.indexOf(c) > -1) w3AddClass(x[i], "show"); 
 
     } 
 
    } 
 
    
 
    function w3AddClass(element, name) { 
 
     var i, arr1, arr2; 
 
     arr1 = element.className.split(" "); 
 
     arr2 = name.split(" "); 
 
     for (i = 0; i < arr2.length; i++) { 
 
     if (arr1.indexOf(arr2[i]) == -1) {element.className += " " + arr2[i];} 
 
     } 
 
    } 
 
    
 
    function w3RemoveClass(element, name) { 
 
     var i, arr1, arr2; 
 
     arr1 = element.className.split(" "); 
 
     arr2 = name.split(" "); 
 
     for (i = 0; i < arr2.length; i++) { 
 
     while (arr1.indexOf(arr2[i]) > -1) { 
 
      arr1.splice(arr1.indexOf(arr2[i]), 1);  
 
     } 
 
     } 
 
     element.className = arr1.join(" "); 
 
    }
* { 
 
    box-sizing: border-box; 
 
} 
 

 
body { 
 
    background-color: #f1f1f1; 
 
    padding: 20px; 
 
    font-family: Arial; 
 
} 
 

 
/* Center website */ 
 
.main { 
 
    max-width: 1000px; 
 
    margin: auto; 
 
} 
 

 
h1 { 
 
    font-size: 50px; 
 
    word-break: break-all; 
 
} 
 

 
.row { 
 
    margin: 10px -16px; 
 
} 
 

 
/* Add padding BETWEEN each column */ 
 
.row, 
 
.row > .column { 
 
    padding: 8px; 
 
} 
 

 
/* Create three equal columns that floats next to each other */ 
 
.column { 
 
    float: left; 
 
    width: 33.33%; 
 
    display: none; /* Hide all elements by default */ 
 
} 
 

 
/* Clear floats after rows */ 
 
.row:after { 
 
    content: ""; 
 
    display: table; 
 
    clear: both; 
 
} 
 

 
/* Content */ 
 
.content { 
 
    background-color: white; 
 
    padding: 10px; 
 
} 
 

 
/* The "show" class is added to the filtered elements */ 
 
.show { 
 
    display: block; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="main"> 
 

 
\t <h1>MYLOGO.COM</h1> 
 
\t <hr> 
 

 
\t <h2>PORTFOLIO</h2> 
 
\t <input type="radio" onclick="filterSelection('all')" name="category"> Show all 
 
\t <input type="radio" onclick="filterSelection('nature')" name="category" checked> Nature 
 
\t <input type="radio" onclick="filterSelection('cars')" name="category"> Cars 
 
\t <input type="radio" onclick="filterSelection('people')" name="category"> People 
 

 
<div class="main"> 
 

 
<h1>MYLOGO.COM</h1> 
 
<hr> 
 

 
<h2>PORTFOLIO</h2> 
 
<input type="radio" onclick="filterSelection('all')" name="category" > Show all 
 
<input type="radio" onclick="filterSelection('nature')" name="category" checked> Nature 
 
<input type="radio" onclick="filterSelection('cars')" name="category"> Cars 
 
<input type="radio" onclick="filterSelection('people')" name="category"> People 
 

 
<!-- Portfolio Gallery Grid --> 
 
<div class="row"> 
 
\t <div class="column nature"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/mountains.jpg" alt="Mountains" style="width:100%"> 
 
\t \t \t <h4>Mountains</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="column nature"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/lights.jpg" alt="Lights" style="width:100%"> 
 
\t \t \t <h4>Lights</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="column nature"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/nature.jpg" alt="Nature" style="width:100%"> 
 
\t \t \t <h4>Forest</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 

 
\t <div class="column cars"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/cars1.jpg" alt="Car" style="width:100%"> 
 
\t \t \t <h4>Retro</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="column cars"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/cars2.jpg" alt="Car" style="width:100%"> 
 
\t \t \t <h4>Fast</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="column cars"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/cars3.jpg" alt="Car" style="width:100%"> 
 
\t \t \t <h4>Classic</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 

 
\t <div class="column people"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/people1.jpg" alt="Car" style="width:100%"> 
 
\t \t \t <h4>Girl</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="column people"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/people2.jpg" alt="Car" style="width:100%"> 
 
\t \t \t <h4>Man</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <div class="column people"> 
 
\t \t <div class="content"> 
 
\t \t \t <img src="/w3images/people3.jpg" alt="Car" style="width:100%"> 
 
\t \t \t <h4>Woman</h4> 
 
\t \t \t <p>Lorem ipsum dolor..</p> 
 
\t \t </div> 
 
\t </div> 
 
\t <!-- END GRID --> 
 
</div> 
 

 
<!-- END MAIN --> 
 
</div>

+0

非常感謝你 – sripriya

+0

不客氣!請有效的答案解決方案是最適合你的。 –

+0

如何將複選框更改爲文本框單擊 – sripriya

0

試試這個:在自然輸入上添加一個id,並且window onload在這個元素上觸發點擊事件。

<input type="radio" onclick="filterSelection('all')" name="category" checked> Show all 
<input type="radio" onclick="filterSelection('nature')" id="nature" name="category"> Nature 
<input type="radio" onclick="filterSelection('cars')" name="category"> Cars 
<input type="radio" onclick="filterSelection('people')" name="category"> People 

window.onload = function(e){ 
    var l = document.getElementById('nature'); 
    l.click(); 
} 
0

你必須使用window.onload function

function filterSelection(c) { 
 
    var x, i; 
 
    x = document.getElementsByClassName("column"); 
 
    if (c == "all") c = ""; 
 
    for (i = 0; i < x.length; i++) { 
 
    w3RemoveClass(x[i], "show"); 
 
    if (x[i].className.indexOf(c) > -1) w3AddClass(x[i], "show"); 
 
    } 
 
} 
 

 
function w3AddClass(element, name) { 
 
    var i, arr1, arr2; 
 
    arr1 = element.className.split(" "); 
 
    arr2 = name.split(" "); 
 
    for (i = 0; i < arr2.length; i++) { 
 
    if (arr1.indexOf(arr2[i]) == -1) {element.className += " " + arr2[i];} 
 
    } 
 
} 
 

 
function w3RemoveClass(element, name) { 
 
    var i, arr1, arr2; 
 
    arr1 = element.className.split(" "); 
 
    arr2 = name.split(" "); 
 
    for (i = 0; i < arr2.length; i++) { 
 
    while (arr1.indexOf(arr2[i]) > -1) { 
 
     arr1.splice(arr1.indexOf(arr2[i]), 1);  
 
    } 
 
    } 
 
    element.className = arr1.join(" "); 
 
} 
 

 
window.onload = function() { 
 
document.getElementById('nature').checked=true; 
 
filterSelection('nature'); 
 
}
* { 
 
    box-sizing: border-box; 
 
} 
 

 
body { 
 
    background-color: #f1f1f1; 
 
    padding: 20px; 
 
    font-family: Arial; 
 
} 
 

 
/* Center website */ 
 
.main { 
 
    max-width: 1000px; 
 
    margin: auto; 
 
} 
 

 
h1 { 
 
    font-size: 50px; 
 
    word-break: break-all; 
 
} 
 

 
.row { 
 
    margin: 10px -16px; 
 
} 
 

 
/* Add padding BETWEEN each column */ 
 
.row, 
 
.row > .column { 
 
    padding: 8px; 
 
} 
 

 
/* Create three equal columns that floats next to each other */ 
 
.column { 
 
    float: left; 
 
    width: 33.33%; 
 
    display: none; /* Hide all elements by default */ 
 
} 
 

 
/* Clear floats after rows */ 
 
.row:after { 
 
    content: ""; 
 
    display: table; 
 
    clear: both; 
 
} 
 

 
/* Content */ 
 
.content { 
 
    background-color: white; 
 
    padding: 10px; 
 
} 
 

 
/* The "show" class is added to the filtered elements */ 
 
.show { 
 
    display: block; 
 
}
<div class="main"> 
 

 
<h1>MYLOGO.COM</h1> 
 
<hr> 
 

 
<h2>PORTFOLIO</h2> 
 
<input type="radio" onclick="filterSelection('all')" name="category" checked> Show all 
 
<input type="radio" id="nature" onclick="filterSelection('nature')" name="category"> Nature 
 
<input type="radio" onclick="filterSelection('cars')" name="category"> Cars 
 
<input type="radio" onclick="filterSelection('people')" name="category"> People 
 

 
<!-- Portfolio Gallery Grid --> 
 
<div class="row"> 
 
    <div class="column nature"> 
 
    <div class="content"> 
 
     <img src="/w3images/mountains.jpg" alt="Mountains" style="width:100%"> 
 
     <h4>Mountains</h4> 
 
     <p>Lorem ipsum dolor..</p> 
 
    </div> 
 
    </div> 
 
    <div class="column nature"> 
 
    <div class="content"> 
 
    <img src="/w3images/lights.jpg" alt="Lights" style="width:100%"> 
 
     <h4>Lights</h4> 
 
     <p>Lorem ipsum dolor..</p> 
 
    </div> 
 
    </div> 
 
    <div class="column nature"> 
 
    <div class="content"> 
 
    <img src="/w3images/nature.jpg" alt="Nature" style="width:100%"> 
 
     <h4>Forest</h4> 
 
     <p>Lorem ipsum dolor..</p> 
 
    </div> 
 
    </div> 
 
    
 
    <div class="column cars"> 
 
    <div class="content"> 
 
     <img src="/w3images/cars1.jpg" alt="Car" style="width:100%"> 
 
     <h4>Retro</h4> 
 
     <p>Lorem ipsum dolor..</p> 
 
    </div> 
 
    </div> 
 
    <div class="column cars"> 
 
    <div class="content"> 
 
    <img src="/w3images/cars2.jpg" alt="Car" style="width:100%"> 
 
     <h4>Fast</h4> 
 
     <p>Lorem ipsum dolor..</p> 
 
    </div> 
 
    </div> 
 
    <div class="column cars"> 
 
    <div class="content"> 
 
    <img src="/w3images/cars3.jpg" alt="Car" style="width:100%"> 
 
     <h4>Classic</h4> 
 
     <p>Lorem ipsum dolor..</p> 
 
    </div> 
 
    </div> 
 

 
    <div class="column people"> 
 
    <div class="content"> 
 
     <img src="/w3images/people1.jpg" alt="Car" style="width:100%"> 
 
     <h4>Girl</h4> 
 
     <p>Lorem ipsum dolor..</p> 
 
    </div> 
 
    </div> 
 
    <div class="column people"> 
 
    <div class="content"> 
 
    <img src="/w3images/people2.jpg" alt="Car" style="width:100%"> 
 
     <h4>Man</h4> 
 
     <p>Lorem ipsum dolor..</p> 
 
    </div> 
 
    </div> 
 
    <div class="column people"> 
 
    <div class="content"> 
 
    <img src="/w3images/people3.jpg" alt="Car" style="width:100%"> 
 
     <h4>Woman</h4> 
 
     <p>Lorem ipsum dolor..</p> 
 
    </div> 
 
    </div> 
 
<!-- END GRID --> 
 
</div> 
 

 
<!-- END MAIN --> 
 
</div>

希望它會幫助你