• 0

2nd menu option with jQuery


Question

http://www.romabio.com/products/preview.html <--- My Example /

http://www.redbox.com/movies <--- What I'm trying to do /

https://www.neowin.net/forum/topic/1131050-jquery-quicksand/ <--- First post about this /

If you remember, I was trying to get quicksand working and someone help me with doing a short jQuery code to do the same thing. Well, everything is working great with just doing one menu but now. I would like to add on to it so that their is a second option for the user to select. I provided the link to My Example. I don't know how to right the code in jQuery so that the user can also sort the list in to Interior or Exterior like they did in the Redbox movie list. I don't think it would be really hard for someone that knows jQuery to quickly right the code for me. I'm more of a front-end web designer and then a back-end one.

I put the code below but not all of the product DIV code because it's mostly the same thing just the li class and h1 is different.


<div id="dropdown">
<ul class="filter">
<li>Product Information List
<ul>
<li class="current"><a href="#">All Products</a></li>
<li><a href="#">Limewash Products</a></li>
<li><a href="#">Slaked Lime Plasters</a></li>
<li><a href="#">3.5 NHL Cements</a></li>
<li><a href="#">Potassium Silcate Paints</a></li>
<li><a href="#">Silossanic Paints</a></li>
<li><a href="#">Stain & Varnishes</a></li>
<li><a href="#">Specialty Products</a></li>
</ul>
</li>
</ul>
</div>
<div id="dropdown2">
<ul class="filter">
<li class="current"><a href="#">All</a></li>
<li id="drop2"><a href="#">Interior</a></li>
<li id="drop3"><a href="#">Exterior</a></li>
</ul>

</div>
</div>




<ul class="items">

<li class="Limewash Products">
<a href="#"><div class="science-list shadow horizontal">
<img src="https://placehold.it/300x159" alt="" longdesc="" />
<h1>BioCalce Classico</h1>
</div></a>
</li>

<li class="Limewash Products">
<a href="#"><div class="science-list shadow horizontal">
<img src="https://placehold.it/300x159" alt="" longdesc="" />
<h1>BioCalce Classico A</h1>
</div></a>
</li>

</ul>
[/CODE]

[CODE]
<script type="text/javascript">
$('.filter li a').click(function() {

$(this).css('outline','none');
$('.filter .current').removeClass('current');
$(this).parent().addClass('current');

var filter = $(this).text();
if(filter == 'All Products') {
$('.items li.hidden').fadeIn('normal').removeClass('hidden');
} else {
$('.items li').each(function() {
if(!$(this).hasClass(filter)) {
$(this).fadeOut('normal').addClass('hidden');
} else {
$(this).fadeIn('normal').removeClass('hidden');
}
});
}

return false;
});

</script>
[/CODE]

Link to comment
https://www.neowin.net/forum/topic/1132088-2nd-menu-option-with-jquery/
Share on other sites

7 answers to this question

Recommended Posts

  • 0

I can probably help you with this, but I'm not entirely sure what you are trying to accomplish...which part of the redbox menu are you trying to mimic? Is it the sorting functionality?

  • 0

Alright, I figured it out. It's kind of sloppy, but it gets the desired effect. You will still need to add in the Interior or Exterior class to each of your products, and change the class name for the second menu to "filter_2" for it to work. Other than that, you shouldn't have any issues. Here is the jQuery:


$('.filter li a').click(function() {

$(this).css('outline','none');
$('.filter .current').removeClass('current');
$(this).parent().addClass('current');

var filter = $(this).text();
var filter_2 = $('.filter_2 .current').text();
if(filter == 'All Products') {
if (filter_2=='All') {
$('.items li.hidden, .items h2.hidden').fadeIn('10000').removeClass('hidden');
}
else {
$('.items li, .items h2').each(function() {
if (!$(this).hasClass(filter_2)) {
$(this).fadeOut('10000').addClass('hidden');
}
else {
$(this).fadeIn('10000').removeClass('hidden');
}
});
}
}
else {
$('.items li, .items h2').each(function() {
if (filter_2=='All') {
if (!$(this).hasClass(filter)) {
$(this).fadeOut('10000').addClass('hidden');
}
else {
$(this).fadeIn('10000').removeClass('hidden');
}
}
else if(!$(this).hasClass(filter)) {
$(this).fadeOut('10000').addClass('hidden');
}
else if (!$(this).hasClass(filter_2)) {
$(this).fadeOut('10000').addClass('hidden');
}
else {
$(this).fadeIn('10000').removeClass('hidden');
}
});
}

return false;

});
$('.filter_2 li a').click(function() {
$('.filter_2 .current').removeClass('current');
$(this).parent().addClass('current');
var filter_2 = $(this).text();
var top_filter = $('.filter .current').text();
$('.items li, .items h2').each(function() {
if (top_filter=='All Products') {
if (filter_2=='All') {
$('.items li.hidden, .items h2.hidden').fadeIn('10000').removeClass('hidden');
}
else if (!$(this).hasClass(filter_2)) {
$(this).fadeOut('10000').addClass('hidden');
}
else {
$(this).fadeIn('10000').removeClass('hidden');
}
}
else if (filter_2=='All') {
if (!$(this).hasClass(top_filter)) {
$(this).fadeOut('10000').addClass('hidden');
}
else {
$(this).fadeIn('10000').removeClass('hidden');
}
}
else if (!$(this).hasClass(top_filter)) {
$(this).fadeOut('10000').addClass('hidden');
}
else if (!$(this).hasClass(filter_2)) {
$(this).fadeOut('10000').addClass('hidden');
}
else {
$(this).fadeIn('10000').removeClass('hidden');
}
});
});
[/CODE]

  • 0

Here is the final and working code in case anybody wanted to see the solution:


$('.filter li a').click(function() {

$(this).css('outline','none');
$('.filter .current').removeClass('current');
$(this).parent().addClass('current');
var filter = $(this).text();
var filter_2 = $('.filter_2 .current_2').text();
if(filter == 'All Products') {
if (filter_2=='All') {
$('.items li.hidden, .items h2.hidden').fadeIn('10000').removeClass('hidden');
}
else {
$('.items li, .items h2').each(function() {
if (!$(this).hasClass(filter_2)) {
$(this).fadeOut('10000').addClass('hidden');
}
else {
$(this).fadeIn('10000').removeClass('hidden');
}
});
}
}
else {
$('.items li, .items h2').each(function() {
if (filter_2=='All') {
if (!$(this).hasClass(filter)) {
$(this).fadeOut('10000').addClass('hidden');
}
else {
$(this).fadeIn('10000').removeClass('hidden');
}
}
else if(!$(this).hasClass(filter)) {
$(this).fadeOut('10000').addClass('hidden');
}
else if (!$(this).hasClass(filter_2)) {
$(this).fadeOut('10000').addClass('hidden');
}
else {
$(this).fadeIn('10000').removeClass('hidden');
}
});
}
return false;

});
$('.filter_2 li a').click(function() {
$('.filter_2 .current_2').removeClass('current_2');
$(this).parent().addClass('current_2');
var filter_2 = $(this).text();
var top_filter = $('.filter .current').text();
$('.items li, .items h2').each(function() {
if (top_filter=='All Products') {
if (filter_2=='All') {
$('.items li.hidden, .items h2.hidden').fadeIn('10000').removeClass('hidden');
}
else if (!$(this).hasClass(filter_2)) {
$(this).fadeOut('10000').addClass('hidden');
}
else {
$(this).fadeIn('10000').removeClass('hidden');
}
}
else if (filter_2=='All') {
if (!$(this).hasClass(top_filter)) {
$(this).fadeOut('10000').addClass('hidden');
}
else {
$(this).fadeIn('10000').removeClass('hidden');
}
}
else if (!$(this).hasClass(top_filter)) {
$(this).fadeOut('10000').addClass('hidden');
}
else if (!$(this).hasClass(filter_2)) {
$(this).fadeOut('10000').addClass('hidden');
}
else {
$(this).fadeIn('10000').removeClass('hidden');
}
});
});
[/CODE]

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Autonomous post-training loop placed 8th of 4,000 and then rewrote its own evaluation strategy. An autonomous AI system built by researchers at Amazon's A-EVO-Lab completed a full post-training run on a 30 billion parameter NVIDIA Nemotron model — with no human in the loop, across four rounds running over multiple weeks — and then did something its designers had not planned for: it detected that its own internal evaluation metric had become misleading and redesigned the search strategy it was using to improve itself. https://www.techtimes.com/articles/319123/20260626/nvidia-ai-trained-itself-30b-model-corrected-its-own-broken-metric-mid-run.htm
    • Grok Adult Content Tops 10 Billion Images Monthly More than half of all traffic flowing through Grok, Elon Musk's flagship AI product, now comes from users requesting pornographic images, explicit videos, and **** roleplay https://www.techtimes.com/articles/319142/20260626/grok-adult-content-tops-10-billion-images-monthly-xai-engineers-admit-csam-has-no-fix.htm
    • If Ford would stop hiring SUITS to run the company, and put CAR GUYS back in charge perhaps they could do better. Heck, the only CAR they produce today is the Mustang. Hey Ford! Not everyone needs/wants an overpriced SUV or pickup truck that is so tall you have to have a step ladder to get in and out of it.
    • Amazing how some will just jump all over something. Probably the same people that thought Musk was a "tech god" before he saddled up with "bad orange man". Before, they worshiped at his feet, including a lot of so called hollywood types. Now, because he fell off the plantation truck, they toss him under the bus.
    • How does the disc d-pad work for fighting games? Has anyone had personal experience with that specific question?
  • Recent Achievements

    • One Year In
      bernmeister earned a badge
      One Year In
    • Week One Done
      Scoobystu earned a badge
      Week One Done
    • Week One Done
      tuben earned a badge
      Week One Done
    • First Post
      OffsetAbs earned a badge
      First Post
    • Reacting Well
      OffsetAbs earned a badge
      Reacting Well
  • Popular Contributors

    1. 1
      +primortal
      489
    2. 2
      +Edouard
      224
    3. 3
      PsYcHoKiLLa
      160
    4. 4
      Steven P.
      75
    5. 5
      FloatingFatMan
      71
  • Tell a friend

    Love Neowin? Tell a friend!