Autor Zpráva
Alda
Profil *
Mám stáhnutou carousel galerii z internetu. Je to klasické schéma Carousel galerie, vypíše se pár obrázků a po kliknutí na šipku "další" se obrázky v galerii posunou a zobrazí se obrázky následující. Potřeboval bych, aby tlačítko "další" fungovalo jak při kliknutí na tlačítko, tak při najetí na tlačítko myší. Buď funguje posunutí pomocí najetí myší (mouseover) nebo při kliknutí (click). Nedaří se mi, aby tyto dvě události fungovali spolu.

zdrojový kód:
    /* @example $("#mycarousel").jcarousel();
     * @before <ul id="mycarousel" class="jcarousel-skin-name"><li>First item</li><li>Second item</li></ul>
     * @result
     *
     * <div class="jcarousel-skin-name">
     *   <div class="jcarousel-container">
     *     <div disabled="disabled" class="jcarousel-prev jcarousel-prev-disabled"></div>
     *     <div class="jcarousel-next"></div>
     *     <div class="jcarousel-clip">
     *       <ul class="jcarousel-list">
     *         <li class="jcarousel-item-1">First item</li>
     *         <li class="jcarousel-item-2">Second item</li>
     *       </ul>
     *     </div>
     *   </div>
     * </div>
     *
     * @name jcarousel
     * @type jQuery
     * @param Hash o A set of key/value pairs to set as configuration properties.
     * @cat Plugins/jCarousel
     */
    $.fn.jcarousel = function(o) {
        return this.each(function() {
            new $jc(this, o);
        });
    };

    // Default configuration properties.
    var defaults = {
        vertical: false,
        start: 1,
        offset: 1,
        size: null,
        scroll: 3,
        visible: null,
        animation: 'normal',
        easing: 'swing',
        auto: 0,
        wrap: null,
        initCallback: null,
        reloadCallback: null,
        itemLoadCallback: null,
        itemFirstInCallback: null,
        itemFirstOutCallback: null,
        itemLastInCallback: null,
        itemLastOutCallback: null,
        itemVisibleInCallback: null,
        itemVisibleOutCallback: null,
        buttonNextHTML: '<div></div>',
        buttonPrevHTML: '<div></div>',
        buttonNextEvent: 'mouseover'||'click',
        buttonPrevEvent: 'mouseover'||'click',
        buttonNextCallback: null,
        buttonPrevCallback: null
    };
…….

Moderátor Chamurappi: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Darker
Profil
Vlož to mezi tag PRE, a vlož jen tu chybovou část v tomhle se nikdo nevyzná.
Chamurappi
Profil
Reaguji na darkera:
Myslím, že vyznat se v tomhle kousku kódu jde. Na řádcích 52 a 53 bije do očí neúspěšný pokus o kombinaci událostí.


Reaguji na Aldu:
Mám stáhnutou carousel galerii z internetu. Je to klasické schéma Carousel galerie
A že bys i odkázal na ten skript, to ne? Ať si ho najdeme sami?

Jestli jde o jCarousel, tak ten na to není stavěný, ale ze zdrojáku jsem vyčetl, že buttonNextEvent a buttonPrevEvent se užívají jen u volání bind/unbind, kde se k nim ještě přidává ".jcarousel" (aby se při odebírání poznalo, že obsluha události patří k jCarouselu). Funkce bind/unbind umí pracovat s obsluhami více událostí současně, pokud jsou odděleny mezerou. Takže místo "click.jcarousel" bys jí musel dát jako první argument "mouseover.jcarousel click.jcarousel". Tvůrce jCarouselu zjevně nekontroluje platnost parametrů, takže nechceš-li se hrabat v jeho kódu, dosáhneš žádané podoby prvního argumentu tak, že do parametrů buttonNextEvent a buttonPrevEvent dáš "mouseover.jcarousel click". Ale je to trochu nekoncepční.
Alda
Profil *
Ad vkládání příspěvků - příště se polepším a budu sem vkládat správně zdroj a vložím odkaz na úplný kód.

Chamurappi:
Díky za pomoc, je to možná nekoncepční, ale funkční.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0