Здравейте. Предварително благодаря на хората, които биха ми се отзовали на зова за помощ.
По принцип не разбирам почти никак на Javascript, но днес ми се наложи едва-едва да пристъпя в дебрите му.
Мисията ми е следната - имам таблица от да речем 4 колони, както и 4 бутона. В нормално положение на страницата се показват 4те колони, а при натискане на бутон1 изчезва колона1 до повторното му натискане. Така например си излизат колона1, колона2, колона3, колона4 - натискаме бутон1 и бутон3 и на екрана остават само колона2 и колона4. Ако пак натиснем бутон1 на екрана ще се показват колона1, колона2 и колона4. Надявам се се разбира какво искам да постигна.
След известно тършуване открих начин чрез джаваскрипт всяка колона си има отделно id и бутоните чрез него изключват съответната колона. Ето това открих и работи:
<script type="text/javascript">
//<![CDATA[
function showTd(class) {
if(document.getElementById(id).style.visibility=="visible") {
document.getElementById(id).style.visibility="hidden";
}
else {
document.getElementById(id).style.visibility="visible";
}
}
//]]>
</script>
<body>
<div id="butts">
<button onclick="showTd('one')">option 1</button>
<button onclick="showTd('two')">option 2</button>
<button onclick="showTd('three')">option 3</button>
<button onclick="showTd('four')">option 4</button>
</div>
<div id="tbl"><table><tr>
<td id="one">left</td>
<td id="two">center left</td>
<td id="three">center right</td>
<td id="four">right</td>
</tr></table></div>
</body>
Всичко е прекрасно и работи, до момента в който на мен ще ми трябва да изчезне цялата колона, а не само една клетка (както е в случая щом използваме id).
Заради това смятам всяка клетка принадлежаща към колона1 да бъде class="one". Това обаче означава че трябва да се промени и джаваскрипта. Аз направих следното, което не проработи:
<script type="text/javascript">
//<![CDATA[
function showTd(class) {
if(document.getElementsByClassName(class).style.visibility=="visible") {
document.getElementsByClassName(class).style.visibility="hidden";
}
else {
document.getElementsByClassName(class).style.visibility="visible";
}
}
//]]>
</script>
<body>
<div id="butts">
<button onclick="showTd('one')">option 1</button>
<button onclick="showTd('two')">option 2</button>
<button onclick="showTd('three')">option 3</button>
<button onclick="showTd('four')">option 4</button>
</div>
<div id="tbl"><table><tr>
<td class="one">left</td>
<td class="two">center left</td>
<td class="three">center right</td>
<td class="four">right</td>
</tr></table></div>
</body>
Някакви алтернативи или поне изясняване къде точно бъркам? (умишлено съм изтървал част от скрипта на CSS и HTML)
Отново благодаря предварително на всеки отзовал се.
По принцип не разбирам почти никак на Javascript, но днес ми се наложи едва-едва да пристъпя в дебрите му.
Мисията ми е следната - имам таблица от да речем 4 колони, както и 4 бутона. В нормално положение на страницата се показват 4те колони, а при натискане на бутон1 изчезва колона1 до повторното му натискане. Така например си излизат колона1, колона2, колона3, колона4 - натискаме бутон1 и бутон3 и на екрана остават само колона2 и колона4. Ако пак натиснем бутон1 на екрана ще се показват колона1, колона2 и колона4. Надявам се се разбира какво искам да постигна.
След известно тършуване открих начин чрез джаваскрипт всяка колона си има отделно id и бутоните чрез него изключват съответната колона. Ето това открих и работи:
<script type="text/javascript">
//<![CDATA[
function showTd(class) {
if(document.getElementById(id).style.visibility=="visible") {
document.getElementById(id).style.visibility="hidden";
}
else {
document.getElementById(id).style.visibility="visible";
}
}
//]]>
</script>
<body>
<div id="butts">
<button onclick="showTd('one')">option 1</button>
<button onclick="showTd('two')">option 2</button>
<button onclick="showTd('three')">option 3</button>
<button onclick="showTd('four')">option 4</button>
</div>
<div id="tbl"><table><tr>
<td id="one">left</td>
<td id="two">center left</td>
<td id="three">center right</td>
<td id="four">right</td>
</tr></table></div>
</body>
Всичко е прекрасно и работи, до момента в който на мен ще ми трябва да изчезне цялата колона, а не само една клетка (както е в случая щом използваме id).
Заради това смятам всяка клетка принадлежаща към колона1 да бъде class="one". Това обаче означава че трябва да се промени и джаваскрипта. Аз направих следното, което не проработи:
<script type="text/javascript">
//<![CDATA[
function showTd(class) {
if(document.getElementsByClassName(class).style.visibility=="visible") {
document.getElementsByClassName(class).style.visibility="hidden";
}
else {
document.getElementsByClassName(class).style.visibility="visible";
}
}
//]]>
</script>
<body>
<div id="butts">
<button onclick="showTd('one')">option 1</button>
<button onclick="showTd('two')">option 2</button>
<button onclick="showTd('three')">option 3</button>
<button onclick="showTd('four')">option 4</button>
</div>
<div id="tbl"><table><tr>
<td class="one">left</td>
<td class="two">center left</td>
<td class="three">center right</td>
<td class="four">right</td>
</tr></table></div>
</body>
Някакви алтернативи или поне изясняване къде точно бъркам? (умишлено съм изтървал част от скрипта на CSS и HTML)
Отново благодаря предварително на всеки отзовал се.