function - jQuery not executing -
so have code in script tags:
$(function(){ $("#news-link-1").click(runaccordion(1)); $("#news-link-2").click(runaccordion(2)); $("#news-link-3").click(runaccordion(3)); $("#news-link-4").click(runaccordion(4)); $("#news-link-5").click(runaccordion(5)); $("#news-link-6").click(runaccordion(6)); $("#news-link-7").click(runaccordion(7)); $("#news-link-8").click(runaccordion(8)); $("#news-link-9").click(runaccordion(9)); $("#news-link-10").click(runaccordion(10)); $("#news-link-11").click(runaccordion(11)); $("#news-link-12").click(runaccordion(12)); }) but odd reason, can execute function when there's 1 row (condition) inside.
how can execute function rows inside? or perhaps need if() statement?
edit: if use if() statement in function, each next statement override previous one:
$(function(){ if ($("#news-link-1").click){ runaccordion(1) } if ($("#news-link-2").click){ runaccordion(2) } });
you calling functions on page load. should pass function without calling using (), ie $("#news-link-1").on('click', func), otherwise returned value of function set event handler. since here want pass argument function, should use function:
$("#news-link-1").click(function() { runaccordion(1); }); but suggest adding classes elements , using index method:
var $links = $(".news-links").on('click', function() { var = $links.index(this) + 1; runaccordion(i); }); now selecting matching target element in runaccordion function can use .eq() method:
var $accordions = $('.accordions'); // ... var $target = $accordions.eq(i); please note both index , eq methods zero-based!
Comments
Post a Comment