Solved

show/hide icons on click jquery

Posted on 2010-11-16
9
667 Views
Last Modified: 2012-05-10
Hi experts.

In our application,we have a menu with 18 navigation icons so I am trying to hide some of the icons and toggle on click of a button. I have found a jquery script which I like but the script works with divs and I want it to work on  'TD' as each icon is in a single TD in my code .
I have attached 3 files
1. the show/hide script
2. my code
3.screenshot  

 toggle.html
 mycode.html
screenshot.jpg
0
Comment
Question by:vravi22
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +2
9 Comments
 
LVL 13

Expert Comment

by:stergium
ID: 34143257
have you tried giving the specified td an id and/or a class.  jquery works with css selectors (besides other things) . so you modify

$("#showr").click(function () {
  $(".CLASS").show("fast", function () {  /*or #id of td you want to hide show*/
    /* use callee so don't have to name the function */
    $(this).next("div").show("fast", arguments.callee);
  });
});
$("#hidr").click(function () {
  $("div").hide(2000);  /* .class or #id you want to show/hide
});
</script>
0
 
LVL 13

Expert Comment

by:stergium
ID: 34143274
i've have modified toggle.html so you can study it and suit it to your needs
toggle.html
0
 
LVL 3

Expert Comment

by:boraganesh
ID: 34143296
hi,

you can modifiy the anachor elemet. insted of div use it as td.
$("div")==> $("td")
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 19

Accepted Solution

by:
Bardobrave earned 250 total points
ID: 34143604
Or even easier... you can get a DIV inside your TDs, if you wrap each of your images inside a div you won't need to change the jquery code
0
 

Expert Comment

by:cgt_puneetrao
ID: 34143761
First I suggested you to use div instead of td. but still if you want to use td then you can use the code I have attached.
mycode.html
jquery-1.4.2.min.js
0
 
LVL 3

Expert Comment

by:boraganesh
ID: 34143802
only change the anachor to td insted of div.
and dont touch the any other html code. its the simplest way to make it work.
0
 

Author Comment

by:vravi22
ID: 34144428
@Bardobrave : thanks a lot .that was the simplest and most effective solution . I just have one small problem .by default it is hidden because of the css used
<style>
  div { background:#def3ca; margin:3px; width:80px;
  display:none; float:left; text-align:center; }
  </style>

if i use it in my page,it will hide the entire page so  
how do i change it so that it hides only some icons and not the entire page .?
0
 
LVL 19

Expert Comment

by:Bardobrave
ID: 34144574
There are different solutions to this, depending on what do you want to do and how to make it.

What I would probably do will be the following:

Give my wrapping divs a class, say "hideable".

On the css file apply the styles only to those class divs

.hideable { background:#def3ca; margin:3px; width:80px;
  display:none; float:left; text-align:center; }

If you want your divs to don't be hidden by default you can change the display:none to display:block, surely jquery will manage the show/hide effect in an independent way from the starting situation.

If you want some icons active by default, some other inactive by default and that every icon can be hided you can play with two different classes, one for hidding and another for showed, and change your jquery to swap the class of the clicked div
0
 
LVL 3

Expert Comment

by:boraganesh
ID: 34144642
to apply the jqueryeffect the requried selected tags.

follow the follwoing methode of using selector..
what ever contents to be required to hide put inside the one div called this div as name id=myeffectdiv
then inside this div add separate td tags for each elememt..waht you have presently

then in jquery use selector which will apply the effect to the td's present inside the div id id=myeffectdiv

 
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes how to create custom column layout styles for Bootstrap. The article uses 5 columns to illustrate the concept, but the principle can be extended to any number of columns.
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
In this Micro Tutorial viewers will learn how to create navigation buttons that change on rollover, using CSS (Continuation of the CSS Image Sprite tutorial) Create a parent ID for all the list items       - Specify position: absolute and display: block…
In this tutorial viewers will learn how to style a corner ribbon overlay for an image using CSS Create a new class by typing ".Ribbon":  Define the class' "display:" as "inline-block": Define its "position:" as "relative": Define its "overflow:" as …

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question