اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

لدي نظام اشعارات للرسائل في الموقع كيف يمكن  تطبيق نفس الطريقة في التعليقات على المواضيع

p_20677kz8y1.jpg

<style type="text/css">
<!--
.dropdown{
margin:0px;
padding-top:6px;
}
.glyphicon{
margin-top:6px;
margin-left:10px;
border:none;
cursor:pointer;
background:url(images/message.png) no-repeat;
width:40px;
height:40px;
}
.count{
 display:block;
 position:absolute;
 background:#E1141E;
 color:#FFF;
 font-size:14px;
 font-weight:normal;
 padding:1px 3px;
 margin:-1px 0 0 25px;
 border-radius:2px;
 -moz-border-radius:2px; 
 -webkit-border-radius:2px;
 z-index:1;
 }
 .dropdown-menu {
  display: none;
  position:absolute;
  width:300px;
  height:470px;
  overflow-y:auto;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
  padding:5px;
  border-radius:10px;
}
 
-->
</style>
<link rel="stylesheet" href="css/bootstrap.min.css" />
<script src="js/jquery-3.6.0.min.js"></script>
<script src="js/bootstrap-3.3.7.min.js"></script>

<div class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown">
<div class="label count"></div> 
<div class="glyphicon" title="الرسائل" ></div>
</a>
<div class="dropdown-menu"></div>
</div>

<script>
var $j = jQuery.noConflict();
$j(document).ready(function(){
 
 function load_unseen_notification(view = '')
 {
  $j.ajax({
   url:"show_pages/show_messages_menu.php",
   method:"POST",
   data:{view:view},
   dataType:"json",
   success:function(data)
   {
    $j('.dropdown-menu').html(data.notification);
    if(data.unseen_notification > 0)
    {
     $j('.count').html(data.unseen_notification);
    }
   }
  });
 }
 load_unseen_notification();
 
 $j(document).on('click', '.dropdown-toggle', function(){
  $j('.count').html('');
  load_unseen_notification('yes');
 });
 
 setInterval(function(){ 
  load_unseen_notification();;
 }, 5000);
});
</script>

تكرار الكود سوف يجعله مرتبط بالرسائل وتغيير مسمياته سوف يجعله لا يعمل  - ما هي الطريقة لاستخدامة مرة اخرى ليرتبط بالتعليقات

Recommended Posts

  • 0
نشر

افصل الجزئين من أكواد جافاسكربت لملفات منفصلة، ثم أعد تضمينهم في الصفحة، الشيفرة قصيرة لامشكلة من تكرارها،..

وربما في المستقبل، تضيف تعديلات لمنطق الإشعارات أو الرسائل ولا تحتاجه في الجزء الآخر فالفصل بينهما الآن أفضل.

لكي تجعل الشيفرة ديناميكية، ضعها في دالة ما، ثم مرر كوسيط لها المتغيرات المختلفة، مثل رابط الموقع، وعناصر HTML التي يتغير محتواها..

function myFunNotificatio(URL_Link, HTML_ELEMENT) {
	{
  $j.ajax({
   url:URL_Link,           // تعديل
   method:"POST",
   data:{view:view},
   dataType:"json",
   success:function(data)
   {
    $j(HTML_ELEMENT).html(data.notification);    // ثاني تعديل
    if(data.unseen_notification > 0)
    {
     $j('.count').html(data.unseen_notification);
    }
   }
  });
 }
}

لاحظ أن الرابط و العنصر الذي يتعدل محتواه متغيران فقط، قمت بعمل مثال بسيط، طور الجدالة لديك، واسدعيها عدد من المرات حسب تغيير الوسطاء لديك..

myFunNotificatio(Link_1, Element_1)
myFunNotificatio(Link_2, Element_2)
...

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...