Membres connectés récemment
[PHPBB3] Révision script sur liste des sujets
2 participants
Page 1 sur 1 • Partagez
- Version du forum :PHPBB3
- Templates modifiés :oui
- Navigateur :Firefox
Bonjour à tous les milouziens,
Philippe m'a écrit un script pour la liste des sujets permettant à partir d'un bouton "Voir les Best-of" de remonter certains sujets de la page en hauts de page (ceux tagués en best-of).
La liste des sujets avec le bouton "Voir les Best-of":
Au clic sur le bouton:
Le script:
Ce script fonctionne parfaitement, mais pourrait-il être complété pour:
. Quand on clique sur ce bouton et que les sujet Best-of sont remontés, masquer les annonces et notes.
(remettre les annonces et notes quand on reclique sur le bouton quand les sujets reviennent à leur place)
. Récupérer aussi pour chacun des sujets remontés, la photo miniature qui est présentée sous le titre.
merci pour votre aide.
Philippe m'a écrit un script pour la liste des sujets permettant à partir d'un bouton "Voir les Best-of" de remonter certains sujets de la page en hauts de page (ceux tagués en best-of).
La liste des sujets avec le bouton "Voir les Best-of":
- Spoiler:
Au clic sur le bouton:
- Spoiler:
Le script:
- Code:
//Bouton liste sujets en Best Of sur sous forum
$(document).ready(function(){
$('dd.dterm[style*="https://i.servimg.com/u/f58/18/97/96/21/index13.png"]').closest('li').addClass('M14_Verr');
if($('.M14_Verr').length)
{
$('.forumbg.announcement ul.topiclist.topics.bg_none li:last').after('<li class="header bestof"style="display:none;"><dl class="icon" style="">
<dt style="margin-top: 10px;">Les Photos gagnantes en Best-Of de la page</dt><dd class="posts" style="margin-left: 18px;margin-top: 8px;">Réponses BestOf</dd>
<dd class="lastpost" style="margin-top: 8px;"><span>Derniers Messages des BestOf</span></dd></dl></li>');
$('div.topic-actions p.nomargin.path').after('<a id="M14_bloc_Verrou"title="Afficher les Photos gagnantes de cette page">Voir les Best-Of</a><a class="M14_bloc_Verrou"title="Masquer les Photos gagnantes de cette page"style="display:none;">Masquer les Best-Of</a>');
$('.M14_Verr').each(function(){
$(this).clone().insertAfter('.forumbg.announcement ul.topiclist.topics.bg_none li.bestof');
});
$('#M14_bloc_Verrou').click(function(){
$(this).hide().next().show();
$('.M14_forumbg .M14_Verr').hide();
$('li.bestof ,.forumbg.announcement .M14_Verr').show();
});
$('.M14_bloc_Verrou').click(function(){
$(this).hide().prev().show();
$('li.bestof ,.forumbg.announcement .M14_Verr').hide();
$('.M14_forumbg .M14_Verr').show();
});
};
});
Ce script fonctionne parfaitement, mais pourrait-il être complété pour:
. Quand on clique sur ce bouton et que les sujet Best-of sont remontés, masquer les annonces et notes.
(remettre les annonces et notes quand on reclique sur le bouton quand les sujets reviennent à leur place)
. Récupérer aussi pour chacun des sujets remontés, la photo miniature qui est présentée sous le titre.
merci pour votre aide.
Coucou Serge,
Hum, je vais revoir le script dans ce cas car on importe directement dans le bloc
des annonces et on le cache via la css car j'ai était fouiller sur ton fofo :
Et comme tu souhaites masquer les annonces, tu n'aurais plus rien dans ce cas .
L'astuce à donc était revue.
En faite, on va ajouter un autre bloc ou tous les bests viendront se positionner dans celui-ci et non plus après la dernière
balise li des annonces.
En gros on aura:
Le bloc des annonces notes etc
Le bloc ou va recevoir les bests (masqué dans la css) :
Voir l'aperçu ici avec effet slide :
https://testphpbb3.1fr1.net/f8-essais-sous-fofo-test-dd
Remplaces donc:
Par:
Dans le premier script dans la gestion du même nom tu as déjà ceci qui ajoute une class aux annonces notes etc etc:
Il faut le retirer car je vais l'ajouter dans le script.
Je viens de constater un soucis avec les sondages qui sont considérés comme des annonces note.
Si tu as des sondages, le script ne fonctionnera pas ..
J'ai donc corrigé:
Afin de palier à ce problème .
Tu as le choix entre un masquage /affichage direct ou un autre avec effet slide.
Affichage direct:
Effet slide:
Hum, ce sera très compliqué de les récupérer vu que l'on agit avec un autre script.
Dans le script on peut tester ceci:
Remplaces:
Par:
Tu peux aussi ajouter ceci pour afficher le texte "Réponses BestOf" sur une seule ligne:
Hum, je vais revoir le script dans ce cas car on importe directement dans le bloc
des annonces et on le cache via la css car j'ai était fouiller sur ton fofo :
- Code:
.forumbg.announcement .M14_Verr {
display: none;
}
Et comme tu souhaites masquer les annonces, tu n'aurais plus rien dans ce cas .
L'astuce à donc était revue.
En faite, on va ajouter un autre bloc ou tous les bests viendront se positionner dans celui-ci et non plus après la dernière
balise li des annonces.
En gros on aura:
Le bloc des annonces notes etc
Le bloc ou va recevoir les bests (masqué dans la css) :
Voir l'aperçu ici avec effet slide :
https://testphpbb3.1fr1.net/f8-essais-sous-fofo-test-dd
- Code:
#M14_recept_bestof{display:none;}
Remplaces donc:
- Code:
.forumbg.announcement .M14_Verr {
display: none;
}
Par:
- Code:
#M14_recept_bestof{display:none;}
Dans le premier script dans la gestion du même nom tu as déjà ceci qui ajoute une class aux annonces notes etc etc:
- Code:
$('span.M14_type_post strong').closest('div.forumbg').addClass('M14_Annonc');
Il faut le retirer car je vais l'ajouter dans le script.
Je viens de constater un soucis avec les sondages qui sont considérés comme des annonces note.
Si tu as des sondages, le script ne fonctionnera pas ..
J'ai donc corrigé:
- Code:
$('span.M14_type_post strong').closest('div.forumbg').addClass('M14_Annonc');
- Code:
$('span.M14_type_post strong').not(":contains(Sondage)").closest('div.forumbg').addClass('M14_Annonc');
Afin de palier à ce problème .
Tu as le choix entre un masquage /affichage direct ou un autre avec effet slide.
Affichage direct:
- Code:
//Bouton liste sujets en Best Of sur sous forum
$(document).ready(function(){
$('span.M14_type_post strong').not(":contains(Sondage)").closest('div.forumbg').addClass('M14_Annonc');
$('dd.dterm[style*="https://i.servimg.com/u/f58/18/97/96/21/index13.png"]').closest('li').addClass('M14_Verr');
if($('.M14_Verr').length)
{
$('.forumbg:not(.M14_Annonc)').before('<div id="M14_recept_bestof"class="forumbg"><div class="inner"><span class="corners-top"><span></span></span><ul class="topiclist topics"><li class="header bestof"><dl class="icon" style=""><dt style="margin-top: 10px;">Les Photos gagnantes en Best-Of de la page</dt><dd class="posts" style="margin-left: 18px;margin-top: 8px;">Réponses BestOf</dd><dd class="lastpost" style="margin-top: 8px;"><span>Derniers Messages des BestOf</span></dd></dl></li></ul><ul class="topiclist topics bg_none M14_recept_bestof"></ul><span class="corners-bottom"><span></span></span></div></div>');
$('div.topic-actions p.nomargin.path').after('<a id="M14_bloc_Verrou"title="Afficher les Photos gagnantes de cette page">Voir les Best-Of</a><a class="M14_bloc_Verrou"title="Masquer les Photos gagnantes de cette page"style="display:none;">Masquer les Best-Of</a>');
$('.M14_Verr').each(function(){
$(this).clone().appendTo('.M14_recept_bestof');
});
$('#M14_bloc_Verrou').click(function(){
$(this).hide().next().show();
$('#M14_recept_bestof').show();
$('#M14_recept_bestof').prev().hide();
$('#M14_recept_bestof').next().hide();
});
$('.M14_bloc_Verrou').click(function(){
$(this).hide().prev().show();
$('#M14_recept_bestof').hide();
$('#M14_recept_bestof').prev().show();
$('#M14_recept_bestof').next().show();
});
};
});
Effet slide:
- Code:
//Bouton liste sujets en Best Of sur sous forum
$(document).ready(function(){
$('span.M14_type_post strong').not(":contains(Sondage)").closest('div.forumbg').addClass('M14_Annonc');
$('dd.dterm[style*="https://i.servimg.com/u/f58/18/97/96/21/index13.png"]').closest('li').addClass('M14_Verr');
if($('.M14_Verr').length)
{
$('.forumbg:not(.M14_Annonc)').before('<div id="M14_recept_bestof"class="forumbg"><div class="inner"><span class="corners-top"><span></span></span><ul class="topiclist topics"><li class="header bestof"><dl class="icon" style=""><dt style="margin-top: 10px;">Les Photos gagnantes en Best-Of de la page</dt><dd class="posts" style="margin-left: 18px;margin-top: 8px;">Réponses BestOf</dd><dd class="lastpost" style="margin-top: 8px;"><span>Derniers Messages des BestOf</span></dd></dl></li></ul><ul class="topiclist topics bg_none M14_recept_bestof"></ul><span class="corners-bottom"><span></span></span></div></div>');
$('div.topic-actions p.nomargin.path').after('<a id="M14_bloc_Verrou"title="Afficher les Photos gagnantes de cette page">Voir les Best-Of</a><a class="M14_bloc_Verrou"title="Masquer les Photos gagnantes de cette page"style="display:none;">Masquer les Best-Of</a>');
$('.M14_Verr').each(function(){
$(this).clone().appendTo('.M14_recept_bestof');
});
$('#M14_bloc_Verrou').click(function(){
$(this).hide().next().show();
$('#M14_recept_bestof').fadeIn();
$('#M14_recept_bestof').prev().slideUp();
$('#M14_recept_bestof').next().slideUp();
});
$('.M14_bloc_Verrou').click(function(){
$(this).hide().prev().show();
$('#M14_recept_bestof').fadeOut();
$('#M14_recept_bestof').prev().slideDown();
$('#M14_recept_bestof').next().slideDown();
});
};
});
Récupérer aussi pour chacun des sujets remontés, la photo miniature qui est présentée sous le titre.
Hum, ce sera très compliqué de les récupérer vu que l'on agit avec un autre script.
Dans le script on peut tester ceci:
Remplaces:
- Code:
$('.M14_Verr').each(function(){
$(this).clone().appendTo('.M14_recept_bestof');
});
Par:
- Code:
$('.M14_Verr').each(function(){
var a=$(this).html();
$('.M14_recept_bestof').append(a);
});
Tu peux aussi ajouter ceci pour afficher le texte "Réponses BestOf" sur une seule ligne:
- Code:
#M14_recept_bestof .posts{width:12%!important;}
photoclic aime ce message
Bonjour Philippe,
Encore une pépite que tu m'as concocté là.
Tout fonctionne parfaitement
J'ai adopté le script avec effet slide.
Pour la récupération des miniatures, il n'a pas été nécessaire de modifier cette partie:
Un énorme merci l'ami pour tout ça
Message envoyé via la réponse rapide par: @photoclic
Encore une pépite que tu m'as concocté là.
Tout fonctionne parfaitement
J'ai adopté le script avec effet slide.
Pour la récupération des miniatures, il n'a pas été nécessaire de modifier cette partie:
- Code:
$('.M14_Verr').each(function(){
$(this).clone().appendTo('.M14_recept_bestof');
});
Un énorme merci l'ami pour tout ça
Message envoyé via la réponse rapide par: @photoclic
Milouze14 aime ce message
De rien Serge,
j'avoue que je me régale avec ce genre de codage .
Message envoyé via la réponse rapide par: @Milouze14
j'avoue que je me régale avec ce genre de codage .
Hello
Sujet résolu et déplacé dans le forum adéquate
A bientôt pour une prochaine demande
Sujet résolu et déplacé dans le forum adéquate
A bientôt pour une prochaine demande
Message envoyé via la réponse rapide par: @Milouze14
Sujets similaires
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum