Ma page ne se recharge plus (JavaSript).

chamoismignon Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   -  
chamoismignon Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   -

Bonsoir,

j'ai un js qui fonctionnait très bien (scroll au top + rafraîchissement de la page) mais depuis que j'ai changé (très peu) le HTML, le site onepage ne se rafraîchit plus.

Je ne vois pas d'où cela peut venir (je n'y connais rien en js mais tout me semble correct).

Merci pour votre aide ;)

            jQuery(function(){
                $(function () {
                    $(window).scroll(function () {
                        if ($(this).scrollTop() > 200 ) { 
                            $('#scrollUp').css('right','10px');
                        } else { 
                            $('#scrollUp').removeAttr( 'style' );
                        }
 
                    });
                });
            });
</script>
<script>
var btn = $('#remonte');

$(window).scroll(function() {
  if ($(window).scrollTop() > 300) {
    btn.addClass('show');
  } else {
    btn.removeClass('show');
  }
});

btn.on('click', function(e) {
  e.preventDefault();
  $('html, body').animate({scrollTop:0}, '300');
  setTimeout( () => {
	  window.location=document.location.href
	 }, 400);
});

4 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Bonjour,

Avec si peu d'infos, impossible de te répondre.

voici tout de même une version 'améliorée' de ton code$

<script>
jQuery(function($) {
    // Scroll-up (affichage de #scrollUp)
    $(window).scroll(function () {
        if ($(this).scrollTop() > 200 ) { 
            $('#scrollUp').css('right','10px');
        } else { 
            $('#scrollUp').removeAttr('style');
        }
    });

    // Remonter et recharger
    var btn = $('#remonte');

    $(window).scroll(function() {
        if ($(window).scrollTop() > 300) {
            btn.addClass('show');
        } else {
            btn.removeClass('show');
        }
    });

    btn.on('click', function(e) {
        e.preventDefault();
        $('html, body').animate({scrollTop:0}, '300');
        setTimeout(() => {
            window.location = document.location.href;
        }, 400);
    });
});
</script>

Si le souci persiste ...Il faudrait commencer par vérifier dans la console de ton navigateur si tu ne verrais pas des messages d'erreur...

Et éventuellement, soit nous fournir l'url de ton site .. soit le code source de la page concernée...


0
chamoismignon Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   4
 

Bonsoir Jordane,

avant que je ne regarde la console (que je connais peu), je peux juste dire que tout est OK si je scrolle (rafraichissement) marci :)  mais que ce n'est pas le cas si je passe par la navbar. Dans ce cas, je remonte toujours à top: 0 mais la page ne se rafraichis pas :/

Te faut-il mon HTML ?

Merci encore.

Bonne soirée.

0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

oui

0
chamoismignon Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   4
 

:)

merci beaucoup, voici le HTML concerné :

<body>
	<div id="testmynavbar">
		<nav class="">
			<div class="mynavbar">
				<div class="container mynav-container">
					<input class="checkbox" type="checkbox">
					<div class="hamburger-lines">
						<span class="line line1"></span>
						<span class="line line2"></span>
						<span class="line line3"></span>
					</div>
					<div class="menu-items">
						<nav>
							<ul class="mynavbar">
								<li><a href="#jaune">rock</a></li>
								<li>
									<a href="#">sections</a>
									<ul>
										<li><a href="#green">section_1</a></li>
										<li><a href="#red">section_2</a></li>
									</ul>
								</li>
								<li><a href="#rocknroll">ROCK'N'ROLL</a></li>
								<li><a href="Contact/formpage.html" target="_blank">CONTACT</a></li>
							</ul>
						</nav>
					</div>
				</div>
			</div>
		</nav>
		<div id="loader">
			<div class="cs-loader">
				<div class="cs-loader-inner">
					<label>●</label>
					<label>●</label>
					<label>●</label>
					<label>●</label>
					<label>●</label>
					<label>●</label>
				</div>
			</div>
		</div>
		<a href="#testmynavbar" id="remonte" title="Linktitle"></a>
		<div class="containerbis">
			<div id="slider" class="sl-slider-wrapper">
				<div id="menu" class="navbar navbar-default navbar-fixed-top">
					<nav>
						<ul class="nav">
							<li><a href="#jaune">rock</a></li>
							<li>
								<a href="#">sections</a>
								<ul>
									<li><a href="#green">section_1</a></li>
									<li><a href="#red">section_2</a></li>
								</ul>
							</li>
							<li><a href="#rocknroll">Rock'n'Roll</a></li>
							<li><a href="Contact/formpage.html" target="_blank">Contact</a></li>
						</ul>
					</nav>
				</div>

Pour le CSS, je ne vois pas quoi envoyer excepté :

#remonte
{
	background-image: url('images/logoblanc_cut.gif');
	height : 50px;
	width: 50px;
	top: 20px;
	left: 20px;
	position: fixed;
	z-index: 99;
	background-size: cover;
	filter: drop-shadow(0 0 0.20rem black);
	background-repeat: no-repeat;
}

body
{
	font-family: 'Lato', Calibri, Arial, sans-serif;
	font-weight: 300;
	font-size: 15px;
	position: absolute;
	overflow-x: hidden;
	overflow-y: visible;
	left: 0;
	right: 0;
	width:100%;
	background-size: cover;
	background-position: center;
	;
	background-repeat: no-repeat;
	background-color: black;
}

Très bonne journée.

0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Ton code html n'est pas complet..

Dans l'idéal, tu ouvres ta page dans ton navigateur internet, tu fais ensuite CTRL + u  et tu copies/colles TOUT le code source ici.

Il faudrait également ton code JS  COMPLET.

Et j'insiste... lorsque tu seras sur ta page dans ton navigateur .. tu ouvres la CONSOLE du navigateur et tu nous fais une capture écran des différents messages d'erreur qui s'y trouvent.

0
chamoismignon Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   4
 

Bonjour jordane45,

ça va être difficile le HTML car il doit faire 15km ;)

voici tout le js, à savoir que beaucoup concerne 2 sliders :

<script>
	$(document).ready(function(){
		$("#loader").fadeOut(500);
	}
</script>
<script>
	$('#slider').slitslider({
		autoplay: true,interval: 4500,onAfterChange: function(slide, idx) {
			slitslider._startSlideshow();
			 // Starts the autoplay againreturn false;
			;
		}
	});
</script>
<script>
	$(document).ready(function () {
		$('a[href^="#"]').on('click', function (e) {
			e.preventDefault();
			var targetEle = this.hash;
			var $targetEle = $(targetEle);
			$('html, body').stop().animate({
				'scrollTop': $targetEle.offset().top
			}
			, 800, 'swing', function () {
				window.location.hash = targetEle;
			});
		});
		$('#top').click(function () {
			$("html, body").animate({
				 scrollTop: 0 
			}
			, 600);
			return false;
		});
	});
</script>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<script>
	// les liens doivent être ordonnés
	function () {
		  var listLien = $('#nav a'),enCours  = 0,oSlide= $('#slide'),lstSlide = oSlide.children(),  // $('#slide div')nbrSlide = lstSlide.length;
		// affectation dynamique du CSS
		oSlide.css({
			 'width':(100 *nbrSlide) +'%','position': 'relative'
		});
		  lstSlide.each( function(){
			$(this).css({
				 'width': 100/nbrSlide +'%','float': 'left'
			});
			  
		});
		// fct de déplacement commune
		function moveSlide(pos){
			// déplacement conteneur
			lide.animate({
				'left': ( -pos *100) +'%'
			}
			, 'slow');
			// mémorise position en cours
			Cours = pos;
			// affichage ou non des fléches
			'.gauche')[enCours === 0 ? 'hide' : 'show']('slow');
			$('.droite')[enCours === nbrSlide-1 ? 'hide' : 'show']('slow');
			  
		}
		// gestion des clics sur les liens
		listLien.on( 'click', function(){
			// déplace le conteneur à la position de l'ancre;moveSlide( listLien.index(this));// inibe le lien;return false;  });// gestion des clics sur les flèches;  $('.fleche').on('click',function(){var inc  = $(this).hasClass('droite') ? 1 : -1,// incrément suivant casnext = enCours + inc;// si déplacement autorisé;if( next > -1 && next < nbrSlide){moveSlide( next);}  });  // uniquement pour l'affichage des fléches
			moveSlide(enCours);
		});
</script>
<!-- /Au TOP lors du rafraîchissement -->
<script>
	window.onbeforeunload = function () {
		  window.scrollTo(0, 0);
	}
</script>
<script>
	(window).onresize = resize;
	function resize(){
		setTimeout(function(){
			location.reload()
		}
		,0)
	}
</script>
<script>
	let p=document.querySelectorAll('p');
	for (i = 0;
	 i < p.length;
	 i++) {
		  let tidt = p[i].clientWidth;
		  p[i].style.setProperty('--offsetText',tidt)
	}
</script>
<script>
	jQuery(function(){
		$(function () {
			$(window).scroll(function () {
				if ($(this).scrollTop() > 200 ) {
					$('#scrollUp').css('right','10px');
				}
				 else {
					$('#scrollUp').removeAttr( 'style' );
				}
			});
		});
	});
</script>
<script>
	jQuery(function($) {
		// Scroll-up (affichage de #scrollUp)
		window).scroll(function () {
			if ($(this).scrollTop() > 200 ) {
				$('#scrollUp').css('right','10px');
			}
			 else {
				$('#scrollUp').removeAttr('style');
			}
		});
		// Remonter et recharger
		r btn = $('#remonte');
		$(window).scroll(function() {
			if ($(window).scrollTop() > 300) {
				btn.addClass('show');
			}
			 else {
				btn.removeClass('show');
			}
		});
		btn.on('click', function(e) {
			e.preventDefault();
			$('html, body').animate({
				scrollTop:0
			}
			, '300');
			setTimeout(() => {
				window.location = document.location.href;
			}
			, 400);
		});
	});
</script>

Pour la console, je te joins une image, je n'y comprends pas grand chose :/

Merci beaucoup, bonne journée ;)

0