Пользовательский интерфейс jQuery выделяет сноски без событий onclick - PullRequest
0 голосов
/ 02 декабря 2011

Я использую эффект подсветки пользовательского интерфейса jQuery, чтобы выделить одну из многих (> 20) сносок, потому что они могут легко заполнить средний экран, когда он направлен туда.Я передаю номер сноски как значение функции с событием onclick.Я уверен, что есть более элегантный способ реализовать это без загромождения HTML, но я относительно новичок в JS ...

function highlighter(footnote_number) {
    $(document).ready(function () {
        $('li[id="footnote' + footnote_number + '"]').effect("highlight", {}, 3000);
    });
};

Сноски в тексте:

<a id="footnote_a1" href="#footnote1" onclick="highlighter('1')">1</a>

прямо на:

<div id="footnotes">
    <ol>
        <li id="footnote_a1">
            (Footnote)
           <a href="#footnote1">&uarr;</a>
        </li>
    </ol>
</div>

Ответы [ 3 ]

1 голос
/ 02 декабря 2011

Woudlnt было бы проще написать ...?

$('#footnote' + footnote_number).effect(...)
1 голос
/ 02 декабря 2011

Вы хотите извлечь метод $ (document) .ready () из функции:

function highlighter(footnote_number) {
    $('li[id="footnote' + footnote_number + '"]').effect("highlight", {}, 3000);
}
0 голосов
/ 02 декабря 2011

Это будет проходить через каждый якорь с классом сносок и связывать событие click (), чтобы выделить ваши сноски.

$(function(){
  $('ol').find('a.footnote').each(function(){
    var id = $(this).attr('id')
    $(this).bind('click', function(){
      $('div#footnotes li#' + id).effect("highlight", {}, 3000);
    })
  })
})
...