• 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

    • This is weird. Mythos is more unrestricted compared to Fable. Technically it poses more risk!!
    • This is a great thing, I always have issues with Verizon while inside of certain football stadiums due to the saturation and walls blocking signal so a LOS way to connect would be great. Verizon was supposed to be offering sat data this year but I've not heard a word of it lately. Dude is sending rockets into space in a cheap manner, low waste foot print and has a great product with solar/battery tech. We would be so far behind China right now if not for him and a push to get back into space.
    • illegally? Proof of that? Seems you are posting misinformation or well a pure straight up lie cause there is zero proof of such a thing. But I get it...
    • KillerPDF 1.6.0 by Razvan Serea KillerPDF is a lightweight, portable PDF editor for Windows built for users who want full control without subscriptions, installers, or telemetry. It runs as a single executable, making it ideal for USB use and field work. You can view PDFs with smooth PDFium rendering, navigate quickly with thumbnails, zoom, and shortcuts, and reorganize pages using drag-and-drop. It supports merging multiple PDFs, splitting documents, and extracting selected pages. KillerPDF also allows inline text editing with font matching to preserve the original layout, plus annotations like text boxes, freehand drawing, highlights, and reusable signatures. You can search full text, copy content easily, and print documents with flattened annotations. Designed as a free and open alternative to bloated PDF tools, it works fully offline on Windows 10/11 x64. No runtimes install. Everything needed is inside the EXE (targets .NET Framework 4.8, which ships with every supported Windows release). KillerPDF key features: High-quality PDF rendering via PDFium Edit PDF text inline (double-click to modify text) Page thumbnails and fast navigation with zoom and shortcuts Merge multiple PDFs into one Split PDFs and extract selected pages Drag-and-drop page reordering Font matching to preserve original document appearance Text boxes for notes Freehand drawing tools Highlight overlays with adjustable color, size, opacity Undo actions and clear per-page annotations Create, draw, and save reusable signatures Click-to-place signatures anywhere Full-text search with highlighted results Drag-select or Ctrl+A to copy text Print with annotations flattened Portable single-file app (~15 MB) No installer, no admin rights required No account, no telemetry KillerPDF 1.6.0 changelog: A big release: major new features, a full visual refresh, and an internal rewrite. New Tabbed documents - open several PDFs at once, each restoring its page, zoom, and view OCR built into the exe (Tesseract) - OCR a page or dragged region to the clipboard, make a scan searchable, or extract all text; extra languages download on demand Digital signatures with a cloud certificate (Certum SimplySign), reusable signatures, and click-to-sign form fields Transform tool - rotate, scale, flip, and straighten a crooked scan, with live preview Edit existing text by double-clicking a line (the original is cleanly covered) Line tool, refreshed draw/highlight bars, resizable word-wrapping text boxes, and a full RGB color picker with eyedropper Print options (scale, position, margins, two-sided), page-number stamping, folder/.zip import, Document Info (F12), and recent files with file-type icons Translations: Bengali, Turkish, Simplified Chinese, German, French. Changed New logo, icons, fonts, and colors throughout Six themes with per-theme accent colors; sidebar docks left or right; toolbar style picker Internal rewrite: the ~15,000-line main window split into ~40 focused files (no behavior change) Fixed True 300 DPI printing, encrypted/damaged PDFs open on a background thread with a repair fallback, form fields render in every view mode, and undo is one item per press Download: KillerPDF 1.6.0 | 14.6 MB (Open Source) Link: KillerPDF Home Page | Github | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • Week One Done
      flexorcist earned a badge
      Week One Done
    • One Month Later
      Woland13 earned a badge
      One Month Later
    • Week One Done
      Woland13 earned a badge
      Week One Done
    • One Year In
      bernmeister earned a badge
      One Year In
    • Week One Done
      Scoobystu earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      500
    2. 2
      +Edouard
      221
    3. 3
      PsYcHoKiLLa
      147
    4. 4
      Steven P.
      75
    5. 5
      FloatingFatMan
      69
  • Tell a friend

    Love Neowin? Tell a friend!