Как перезагрузить (обновить) стили элемента (используя шрифт cufon), используя jquery - PullRequest
1 голос
/ 28 марта 2012

см. Ниже веб-сайт, который я разработал (это из шаблона):
http://noorjamali.soscharge.com
моя проблема связана с цветами меню после нажатия на каждое меню.
для тестирования, при котором нужно нажать кнопку «О МЕНЯХ».меню, и вы увидите, что ГЛАВНОЕ меню все еще белое, и вы должны навести его мышкой, чтобы получить результат, и переключить его цвет на серый.
пожалуйста, не тестируйте другие меню, потому что я не добавил для них коды jquery.
мои коды меню похожи на приведенные ниже:

        <div class="nav">
            <div class="nav_shadow">
                <ul class="menu">
                    <li id="item-464" class="current active"><a href="Default.aspx">HOME </a></li>
                    <li id="item-465"><a href="javascript:AboutMeClick();">ABOUT ME </a></li>
                    <li id="item-444"><a href="javascript:QuickProfileClick();">QUICK PROFILE </a></li>
                    <li id="item-207"><a href="javascript:CertificationsClick();">CERTIFICATIONS </a></li>
                    <li id="item-467"><a href="javascript:ProjectsClick();">PROJECTS </a></li>
                </ul>
            </div>
        </div>

и функция AboutMeClick () выглядит так:

var $j = jQuery.noConflict();
       function AboutMeClick() {
            $j('#header .nav .nav_shadow .menu li').removeClass('current active');
            $j('#header .nav .nav_shadow .menu li#item-465').addClass('current active');

            if ($j('#header').css('top') != -522) {
                $j('#lveis-wrapper_3').animate({
                    opacity: 0.0
                }, 1200, function () {
                    // Animation complete.

                    $j('#header').animate({
                        top: -522
                    }, 1000, function () {
                        // Animation complete.
                        if ($j('#QuickProfile').css('dispay') != 'none') {
                            $j('#QuickProfile').slideUp(1500, function () { $j('#AboutMe').slideDown(1500); });
                        }
                        else if ($j('#Certifications').css('dispay') != 'none') {
                            $j('#Certifications').slideUp(1500, function () { $j('#AboutMe').slideDown(1500); });
                        }
                        else if ($j('#Projects').css('dispay') != 'none') {
                            $j('#Projects').slideUp(1500, function () { $j('#AboutMe').slideDown(1500); });
                        }
                    });

                });
            }
            else {
                if ($j('#QuickProfile').css('dispay') != 'none') {
                    $j('#QuickProfile').slideUp(1500, function () { $j('#AboutMe').slideDown(1500); });
                }
                else if ($j('#Certifications').css('dispay') != 'none') {
                    $j('#Certifications').slideUp(1500, function () { $j('#AboutMe').slideDown(1500); });
                }
                else if ($j('#Projects').css('dispay') != 'none') {
                    $j('#Projects').slideUp(1500, function () { $j('#AboutMe').slideDown(1500); });
                }
            }
        }

и связанные css с этим меню выглядят так:

ul.menu > li.active > a:link, ul.menu > li.active > a:visited
{
    color: rgb(255, 255, 255) !important;
}
ul.menu li a:hover, ul.menu li a:active, ul li a:focus
{
}

я так растерялся из-за этой проблемы.
почему эти коды jquery не могут выполнять свою работу:

    $j('#header .nav .nav_shadow .menu li').removeClass('current active');
    $j('#header .nav .nav_shadow .menu li#item-465').addClass('current active');

где находится конфликт об этой проблеме и как я могу ее исправитьэто?
также я действительно не знаю, где место установки цветов меню на серый !!
есть ли способ имитировать зависание, используя jquery для получения результатов?

спасибо за внимание

РЕДАКТИРОВАТЬ:
я знаю, что проблема для cufon-yui.js -> но как я могу это исправить?

1 Ответ

1 голос
/ 28 марта 2012

Вы используете шрифт cufon, попробуйте позвонить

Cufon.refresh();

так же, как

$j('#header .nav .nav_shadow .menu li').removeClass('current active');
$j('#header .nav .nav_shadow .menu li#item-465').addClass('current active');
Cufon.refresh(); // Will refresh all cufon text
//Or
Cufon.refresh('#header .nav .nav_shadow .menu li'); // Will refresh only selected objects
...