代码之家  ›  专栏  ›  技术社区  ›  echoblaze

jquery到原型进行addthis

  •  1
  • echoblaze  · 技术社区  · 17 年前

    我需要在 http://www.addthis.com/help/toolbox 但是Rails使用原型,而给定的代码在jQuery中。我对任何一个javascript库都没有太多的经验,如果有人能帮助,我会非常感激的!

    $(function()
    {
        $('.custom_button, .hover_menu').mouseenter(function()
        {
            $('.hover_menu').fadeIn('fast');
            $('.custom_button').addClass('active');
            $(this).data('in', true);
            $('.hover_menu').data('hidden', false);
        }).mouseleave(function()
        {
            $(this).data('in', false);
            setTimeout(hideMenu, delay);
        });
    
        var delay = 400;
        function hideMenu()
        {
            if (!$('.custom_button').data('in') && !$('.hover_menu').data('in') && !$('.hover_menu').data('hidden'))
            {
                $('.hover_menu').fadeOut('fast');
                $('.custom_button').removeClass('active');
                $('.hover_menu').data('hidden', true);
            }
        }
    });
    
    2 回复  |  直到 14 年前
        1
  •  2
  •   thebrokencube    17 年前

    所以如果你不想使用 Prototype 并且想要使用 jQuery 相反,有一个插件叫做 jRails 作为替代 原型 .

    不是有什么问题 原型 但得到 JQuery 安装可能比尝试将其移植到 原型 . 希望能帮上忙(如果不是你想要的,很抱歉)。

    编辑 : This page 有一些关于 JQuery Rails . 希望有帮助。

        2
  •  1
  •   lagrz    15 年前

    您可以用jrails插件替换原型。或者,您也可以将原型扩展到您的需求,这里是一个简单的示例,它是一个与数据等效的原型:

    Element.addMethods({
    /**
     * Element#saveData(@element, key, value) -> @element
     * Caches given data
     * $('foo).saveData('keyName', 'Some random data');
     *
     */
    saveData: function(element, key, value){
        if (Object.isUndefined(this['ATMCCache']) || !Object.isHash(this['ATMCCache'])){
            this['ATMCCache'] = $H();
        }
        this['ATMCCache'].set(key,value);
        return element;
    },
    /**
     * Element#getData(@element, key) -> Value or Hash
     * Returns requested key or entire hash
     * $('foo).getData('keyName');
     *
     */
    getData: function(element, key){
        return this['ATMCCache'].get(key) || this['ATMCCache'];
    },
    /**
     * Element#hasData(@element) -> Boolean
     * Returns Boolean if element has any data stored
     * $('foo).hasData();
     *
     */
    hasData: function(){
        return !Object.isUndefined(this['ATMCCache']);
    }});
    

    只需遵循文档,我确信您可以从这里接管,并根据您的意愿修改或执行此代码。

    推荐文章