Я не могу получить свой div для отображения данных из каждой ссылки. я думаю, что это может иметь отношение к внешнему файлу .js, который управляет функцией jQuery для слайдов. при щелчке по каждой ссылке окно соскальзывает и не отображает никаких новых данных. Также поле всегда показывает некоторые скрытые данные ...ajax не загружает данные правильно
Вот мой индексный файл. под этим будет внешний .js-файл, управляющий функцией слайда.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>David's Site</title> <link rel="stylesheet" type="text/css" href="styles.css" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script> <script src="js/jquery.zaccordion.js"></script> <!-- for the slide show --> <style type="text/css"> /* Just some styles to set the page layout. */ * {margin:0;padding:0;font-family:Arial, Verdana, sans-serif;} body {padding:20px;line-height:20px;font-size:12px;color:#000;} h1 {font-size:18px;margin:10px 0;line-height:1;} h2 {font-size:14px;margin:10px 0;line-height:1;} p {font-size:12px;margin:10px 0;} small {font-size:11px;margin:10px 0;color:#333;} a {font-size:12px;text-decoration:none;color:#f00;} p span {color:#00f;} #container {width:960px;margin:0 auto;padding-bottom:40px;} #examples {margin-top:60px;} pre {font-family:"Courier New", Courier, monospace;font-size:11px;margin:20px 0 100px 0;border:1px dashed
ддд; обивка: 10px; фон: # f6f6f6;}
pre.html {margin:10px 0;} .clear {clear:both;} </style> <style type="text/css"> @import url(css.css); </style> <script type="text/javascript" src="js.js"></script> <!-- for loading the div with ajax --> <script> function showDiv(idInfo) { var sel = document.getElementById('divLinks').getElementsByTagName('div'); for (var i=0; i<sel.length; i++) { sel[i].style.display = 'none'; } document.getElementById('containers'+idInfo).display = 'block'; return false; } </script> <style type="text/css"> #containers1, #containers2, #containers3, #containers4 #containers5 { display:none; overflow:hidden; } </style> </head> <body> <div id="top"> </div> <!-- The navigation css is in styles.css --> <div id="main"> <ul id="navigationMenu"> <li> <a class="home" href="#" onclick="return showDiv('1')"> <span>Home</span> </a> </li> <li> <a class="about" href="#" onclick="return showDiv('2')"> <span>About</span> </a> </li> <li> <a class="services" href="#" onclick="return showDiv('3')"> <span>Services</span> </a> </li> <li> <a class="portfolio" href="#" onclick="return showDiv('4')"> <span>Portfolio</span> </a> </li> <li> <a class="contact" href="#" onclick="return showDiv('5')"> <span>Contact us</span> </a> </li> </ul> </div> <!-- The css for the main area is in css.css--> <!-- The wrapper and the content div control the jquery slide up effect --> <div id="wrapper"> <div id="content"> <!-- The 5 container content divs will display in the containers area --> <div id="divLinks"> <div id="containers1">Containers #1<p>Whole bunch of text 1</div> <div id="containers2">Containers #2<p>Whole bunch of text 2</div> <div id="containers3">Containers #3<p>Whole bunch of text 3</div> <div id="containers4">Containers #4<p>Whole bunch of text 4</div> <div id="containers5">Containers #5<p>Whole bunch of text 5</div> </div> </div> </div> <script type="text/javascript"> window.onload = function() { showDiv('1'); } </script> <!-- This is the slide show. Also the css for the slid show is in the head of this document --> <div id="container"> <div id="examples"> <ul id="example1"> <li> <img src="images/slide0.gif" width="600" height="270" alt="" /> </li> <li> <img src="images/slide1.gif" width="600" height="270" alt="" /> </li> <li> <img src="images/slide2.gif" width="600" height="270" alt="" /> </li> <li> <img src="images/slide3.gif" width="600" height="270" alt="" /> </li> <li> <img src="images/slide4.gif" width="600" height="270" alt="" /> </li> </ul> <script type="text/javascript"> $("#example1").zAccordion({ timeout: 4000, slideWidth: 600, width: 960, height: 270 }); </script> </div> </div> <div id="foot"> <a href="#top"><img src="img/upArrow.png" width="100" /></a> </div> </body> </html> $(document).ready(function() { var hash = window.location.hash.substr(1); var href = $('#navigationMenu li a').each(function(){ var href = $(this).attr('href'); if(hash==href.substr(0,href.length-5)){ var toLoad = hash+'.html #content'; $('#content').load(toLoad) } }); $('#navigationMenu li a').click(function(){ var toLoad = $(this).attr('href')+' #content'; $('#content').hide('fast',loadContent); $('#load').remove(); $('#wrapper').append('<span id="load">LOADING...</span>'); $('#load').fadeIn('normal'); window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5); function loadContent() { $('#content').load(toLoad,'',showNewContent()) } function showNewContent() { $('#content').show('normal',hideLoader()); } function hideLoader() { $('#load').fadeOut('normal'); } return false; }); });
для начала у вас есть ошибка в вашем CSS - # containers4 # containers5 - должна быть запятая между ними –
спасибо большое! одна проблема вниз lol ..., которая устраняет проблему с отображением данных, которое не предполагается. но единственная проблема в том, что когда я нажимаю ссылку, ничего не появляется ... – wuno
Ваш код выглядит [ужасно знакомым] (http://stackoverflow.com/questions/20873147/call-relevant-js-library-on-click-of -Каждый-меню-элементов, прежде чем-JQuery-нагрузки весело). Мне любопытно, есть ли общий источник. –