Facebookと同様に、会社のERPで通知システムを作成しようとしています。今のところ、数時間の作業の後、次のようになります。
各メニュー項目はli
要素です。各要素は、その背景色を変更するクラスの1つを持つことができます。
selected
写真に表示されている青色ですrestricted
赤い
今、私が達成しようとしているのはli
、いくつかのイベントで背景を点滅させることです(新しいメッセージが届き、リストが開かれないとき(そしてselected
クラスも存在しないとき))。
問題は、点滅しないことです。:(
これが私のhtmlのスナップです(メッセージボックスを除く)
<li class="notifications-topmenu-button selected">
<a href="#">
<div class="notifications-topmenu-button-wrapper">
<div class="notifications-topmenu-button-icon">
<img class="transparent" width="13" height="13" align="absmiddle" src="/images/icons/notifications.png" title="Powiadomienia" alt="Powiadomienia">
</div>
<div class="notifications-topmenu-button-counter" style="display: block;">3</div>
</div>
</a>
<span class="divider"> : </span>
</li>
<li class="selected">
<a href="/system_dev.php/users/profile">Strona główna</a>
<span class="divider"> : </span>
</li>
また、JavaScriptを開始するオブジェクトがいくつかあります(コメントは気にしないでください)。
function notificationsObject(){
var nl = new Object();
//atrybuty klasy
nl.liElement = $('.notifications-topmenu-button');
nl.menuButton = $('.notifications-topmenu-button-wrapper');
nl.menuButtonCounter = nl.menuButton.find('.notifications-topmenu-button-counter');
nl.notificationsCount = jQuery.trim(nl.menuButtonCounter.text());
nl.notificationsList = $('.notifications-list-wrapper');
nl.blinkingInterval = null;
nl.startBlinking = function(){
nl.blinkingInterval = setInterval(function(){
if(nl.liElement.hasClass('restricted') == false){
console.debug(nl.liElement.addClass('restricted'));
}
else {
nl.liElement.removeClass('restricted');
}
}, 1000);
}
nl.stopBlinking = function(){
if(nl.blinkingInterval != null) nl.blinkingInterval = null;
}
(more 'class' functions)
return nl;
}
今それをテストするために、私は単に電話します
$(document).ready(function(){
var notifications = notificationsObject();
notifications.startBlinking();
});
もちろん、関数宣言の後で呼び出します。
面白いことに、nl.startBlinking
関数setInterval
の内部を変更しrestricted
てクラスのみを追加すると、機能します。タイプミスか愚かなエラーであるに違いないと確信していますが、見つかりません。
助けてください!