1

Тема: Не спрацьовує скрипт

не спрацьовує скрипт при натисненні на іконку повинен змінюватись вигляд (список таблиця) але при натисканні нічого не відбувається. Плюс не спрацьовують іконки перегортання блоку новин, автоматично перегораються а від наведення нічого не відбувається. Ось код js $(document).ready(function() {

   $("#newsticker").jCarouselLite({
  vertical: true,
  hoverPause:true,
  btnPrev: "#news_up",
  btnNext: "#news_down",
  visible: 3,
  auto:3000,
  speed:500
 });
 
$("#style-grid"). click(function(){
       $("#block-tovar-grid").show(); 
       $("#block-tovar-list").hide();    
})
 
$("#style-list"). click(function(){
   $("#block-tovar-grid").hide(); 
   $("#block-tovar-list").show(); 
       
}) 
 
})

і код всього файлу index.php

<?php
    include("include/db_connect.php")
?>
<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="content-type" content="text/html" charset="windows-1251"/>
    <meta name="author" content="admin" />
    <link href="css/reset.css" rel="stylesheet" type="text/css" />
    <link href="css/style.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/jquery-1.8.2.min.js"></script></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
    <script type="text/javascript" src="js/jquery-3.0.0.js"></script></script>
    <script type="text/javascript" src="js/jcarousellite_1.0.1.js"></script>
    <script type="text/javascript" src="js/kupuy-script.js"></script>
        
    
    <title>Інтернет-Магазин КУПУЙ.IN.UA</title>
</head>

<body>


<div id="block-body"> 

<?php
    include("include/block-header.php");
?>

<div id="block-right">
<?php
    include("include/block-category.php");
    include("include/block-parameter.php");
    include("include/block-news.php"); 
    
?>
</div>

<div id="block-content">
<div id="block-sorting">
<p id="navbreadcrumbs"><a href="index.php">Головне вікно</a> \<span>Всі товари</span></p>
<ul id="options-list">
<li>Вигляд:</li>
<li><img id="style-grid" src="images/grid.png"/></li>
<li><img id="style-list" src="images/list.png"/></li>
<li>Сортувати:</li>
<li><a id="select-sort">Без сортування</a>
<ul id="sorting-list">
<li><a href=" ">Від дешевих до дорогих</a></li>
<li><a href=" ">Від дорогих до дешевих </a></li>
<li><a href=" ">Популярні</a></li>
<li><a href=" ">Новинки</a></li>
<li><a href=" ">За алфавітом</a></li>

</ul>


</li>
</ul>
</div>
<ul class="block-tovar-grid">
<?php
    $result = mysql_query("SELECT * FROM table_products WHERE visible='1'",$link);
    if(mysql_num_rows($result) > 0)
    {
        $row = mysql_fetch_array($result);
        do 
        {
            if ($row["image"] != "" && file_exists("./uploads_images/".$row["image"]))
            {
                $img_path = './uploads_images/'.$row["image"];             
                $max_width = 200;
                $max_height = 200;
                list($width, $height)= getimagesize($img_path);
                $ratioh = $max_height/$height;
                $ratiow = $max_width/$width;
                $ratio = min($ratioh,$ratiow);
                $width = intval($ratio*$width);
                $height = intval($ratio*$height);
                
            }else
            {
                
                $img_path = "/images/no-image.png";
                $width = 200;
                $height = 200;
            }
          echo '
          <li> 
          <div class="block-images-grid">
          <img src="'.$img_path.'" width="'.$width.'" height="'.$height.'" />
          </div>
          <p class="style-title-grid"><a href=" ">'.$row["title"].'</a></p>
          <p class= "raiting-grid">
          <a href = ""><img src="/images/raiting.png" /> Відгуки</a>    
          </p>
          <a class="add-cart-style-grid"></a>
          <p class="style-price-grid"><strong>'.$row["price"].'</strong>  грн.</p>
          <div class="mini-features">
          '.$row["mini_features"].'
          </div>
          </li>
          ';
        }
        while($row = mysql_fetch_array($result));
    }
?>
</ul>

<ul class="block-tovar-list">
<?php
    $result = mysql_query("SELECT * FROM table_products WHERE visible='1'",$link);
    if(mysql_num_rows($result) > 0)
    {
        $row = mysql_fetch_array($result);
        do 
        {
            if ($row["image"] != "" && file_exists("./uploads_images/".$row["image"]))
            {
                $img_path = './uploads_images/'.$row["image"];             
                $max_width = 200;
                $max_height = 200;
                list($width, $height)= getimagesize($img_path);
                $ratioh = $max_height/$height;
                $ratiow = $max_width/$width;
                $ratio = min($ratioh,$ratiow);
                $width = intval($ratio*$width);
                $height = intval($ratio*$height);
                
            }else
            {
                
                $img_path = "/images/no-image.png";
                $width = 200;
                $height = 200;
            }
          echo '
          <li> 
          <div class="block-images-list">
          <img src="'.$img_path.'" width="'.$width.'" height="'.$height.'" />
          </div>
          <p class= "raiting-list">
          <a href = ""><img src="/images/raiting.png" /> Відгуки</a>    
          </p>
          <p class="style-title-list"><a href=" ">'.$row["title"].'</a></p>
          <a class="add-cart-style-list"></a>
          <p class="style-price-list"><strong>'.$row["price"].'</strong>  грн.</p>
          <div class="mini-description">
          '.$row["mini_description"].'
          </div>
          </li>
          ';
        }
        while($row = mysql_fetch_array($result));
    }
?>
</ul>


</div>
<?php
    include("include/block-footer.php")
?>

</div>

</body>
</html>

2 Востаннє редагувалося koala (02.07.2018 10:12:40)

Re: Не спрацьовує скрипт

Схоже, крім мене ніхто не відповість. Доведеться розжовувати.
Отже, ви стикнулися з проблемою - код, який ви написали, працює не так, як вам треба. Це абсолютно нормально, всі програмісти постійно з цим стикаються. Як ця проблема вирішується:

1. Мінімізуєте ділянку, де виникає ваша проблема. Можливо, навіть створюєте окремий проект виключно для того, щоб унаочнити цю проблему - створення проекту це 10 хвилин, а на зневадження одного бага іноді може кілька годин іти, це нормально.
2. Якомога конкретніше формулюєте, що саме в коді не відповідає вашим очікуванням. Для цього додаєте вивід проміжної інформації, запис в логи, алерти, запускаєте дебагер і т.д., залежно від предметної області, доки не зведете питання до "чому виклик функції X з параметрами Y призводить до результату A, а не B" чи схожого маленького питання. Практично будь-яке питання можна проілюструвати 10-20 рядками коду, якщо наполегливо шукати корінь проблеми.
3. Читаєте відповідні мануали - може, ви не так розуміли дію певної функції абощо.
4. Гуглите цю тему. Найбільш імовірно, що хтось до вас вже стикався із цією проблемою і ставив таке питання на форумах.
5. Якщо все попереднє не допомогло - питаєте на форумі, і питання має бути поставлене таким чином, щоб з нього було видно, що все попереднє ви вже зробили.

Кожен із кроків потрібен передусім вам самому, бо з імовірністю 80% допоможе вирішити вашу проблему без звертання до форуму.

Прихований текст

Я виходжу з того, що ви знаєте, що таке серверний код, клієнтський код і як вони обмінюються інформацією. Якщо ні - читайте літературу.

Конкретно тут, як і в попередньому вашому питанні, ви не робите навіть кроку 1 - ви розраховуєте, що хтось створить за вас аналогічний проект і виконає всю роботу з пошуку проблеми (іноді так буває, але не часто, і розраховувати на це не варто). Проблема з клієнтського боку - значить, код, що запитував дані з бази вже відпрацював і закрив з'єднання; якщо проблема в цих даних - це вже має бути видно, якщо ні - нащо нам ця частина, просто час повитрачати на розгортання? Ба більше, весь серверний код на цей момент вже закінчив працювати, і ви можете прямо в браузері побачити, що саме він видав. Він видав той код, який ви очікували, чи ні? Якщо ні, то до чого тут JS і CSS? Якщо так, то до чого тут PHP? Звузьте проблему до стану "фрагмент коду PHP видає код X, коли має видавати Y" або ж "фрагмент коду на JavaScript робить X, коли я очікую Y", і ставте питання ТІЛЬКИ про проблемний код. Те, що додатково ви даєте повний код - це, звісно, чудово і може допомогти, але це не скасовує вашої роботи з кодом.

Подякували: leofun011