Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Проблема с изменение src у img


Автор: korisarimi 23.9.2006, 09:53
Создал галерею картинок, при нажатии на ссылки должно изменяться src у тега <img>.
Идея состоит в том, что у все картинки имеют структуру "somepicture0+число i+.jpg"

Написал такой код:
Код

<img id="gallery" src="intresting/somepicture01.jpg"><br>
<a href="#$#" onclick="javascript:bck()">Предыдущий</a> 
<a href="#" onClick="javascript:next()">Далее </a>


И скрипт к нему:

Код

function next(){
var dust=document.getElementById('gallery').src;
var a=dust.indexOf('.');
var b=dust.lastIndexOf('0');
var c=dust.slice(b+1,a);
var d=Number(c)+1;
document.getElementById('gallery').src="intresting/somepicture0"+d+".jpg"
}

function bck(){
var dust=document.getElementById('gallery').src;
var a=dust.indexOf('.');
var b=dust.lastIndexOf('0');
var c=dust.slice(b+1,a);
var d=Number(c)-1;
if(d!=0)
document.getElementById('gallery').src="intresting/somepicture0"+d+".jpg"
}



Вся проблема в том, что при тестировании на локалке, все работает отлично, но вот после того как закачиваю это все на сервер, перестает работать.

хелп!

Автор: ElGuapo 24.9.2006, 11:43
А что, собственно, перестает работать? Грузятся пустые картинки (какой у них тогда URL)? Или не меняется картинка?

Автор: korisarimi 24.9.2006, 21:28
И то и то. Грузятся пустые картинки и не меняются

Автор: UpL1nK 24.9.2006, 22:36
Посмотри в консоле в чем ошибка, легче исправить будет

Автор: korisarimi 25.9.2006, 11:10
Забыл добавить сервак тоже локальный Apache

Автор: sergejzr 25.9.2006, 11:14
korisarimi, скорее всего путь у тебя неправильный. Попробуй писать полный путь картинок (с http://). Очень легко это проверяется в фаерфоксе. Правая кнопка на картинку, свойства, там написан путь к картинке.

Автор: Illuminaty 26.9.2006, 04:32
Согласен с sergejzr. Скорее всего, какая-то ошибка размещения файлов. Нужно проверить абсолютный путь к изображению. Проверить имя каталога: нет ли там русских или строчных букв.

По коду. "Немного" излишний JS код. Может лучше такой конструкцией воспользоваться?
Код
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Проблема с изменение src у img</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<style media="screen" type="text/css">
<!--/*--><![CDATA[/*><!--*/
html, body {
    margin: 0px;
    padding: 0px;
    background-color: #FFFFFF;
}
body {
    overflow: auto;
}
#navigation {
    width: 11em;
    margin: 0px auto;
    padding-top: 1em;
}
#navigation a {
    background-color: #CC9900;
    border: 2px solid #CC3300;
    display: block;
    width: 5em;
    cursor: pointer;
    text-decoration: none;
    color: black;
}
#navigation a:hover {
    background-color: #66CCCC;
    border: 2px solid #330099;
}
#previous {
    float: left;
}
#next {
    float: right;
}
/*]]>*/-->
</style>
<script language="javascript" type="text/javascript"><!--//--><![CDATA[//><!--
var maxImageNumber = 3;
var minImageNumber = 0;
var currentImageNumber = 0;
var img = null;
window.onload = function () 
{
    img = document.getElementById("gallery");
}
function ChangeImage(step)
{
    currentImageNumber = currentImageNumber + step;
    if (currentImageNumber > maxImageNumber || currentImageNumber < minImageNumber)
    {
        currentImageNumber = currentImageNumber - step;
        return;
    }
    else {
        img.src = "images/im" + currentImageNumber + ".jpg";
    }
}
//--><!]]></script>
</head>
<body> 
<div style="text-align:center; "><img id="gallery" src="images/im0.jpg" alt="" /> 
        <div id="navigation"><a href="#" id="previous" onclick="ChangeImage(-1)">Previous</a><a href="#" id="next" onclick="ChangeImage(1)">Next</a></div> 
</div> 
</body>
</html>

Автор: korisarimi 26.9.2006, 09:56
Цитата

Согласен с sergejzr. Скорее всего, какая-то ошибка размещения файлов. Нужно проверить абсолютный путь к изображению. Проверить имя каталога: нет ли там русских или строчных букв.

По коду. "Немного" излишний JS код. Может лучше такой конструкцией воспользоваться?


Да пожалуй так лучше.

Прописал полный путь, все равно не канает.
Еще один вопрос по ходу дела возник, у меня какие-то проблемы с обновлением сраницы, при заходе за любой адрес, который я уже посещал, всегда приходиться реврешить страницу. В чем проблема? Может из-за нее глюки со скриптом?

Автор: R.M. 26.9.2006, 10:27
korisarimi, вообще принято в одном топике - один вопрос smile 

Цитата(korisarimi @  26.9.2006,  10:56 Найти цитируемый пост)
Прописал полный путь, все равно не канает.

Нажми правой кнопкой на картинку и скопируй путь в буфер потом вставь в браузер и проверь заработает или нет если заработает то возможно ты запускаешь скрипт с сервера и уже из-за этого проблемы.

Автор: korisarimi 26.9.2006, 19:09
Заработало!
Нашел ошибку, отдельное спасибо Illuminaty! Его код лучше работает.

Автор: Illuminaty 26.9.2006, 19:10
Всегда пожалуйста  smile 
в чем ошибка то была?

Автор: korisarimi 27.9.2006, 10:56
Банальная, забыл поставить одну слэшку в адресе smile 

Автор: R.M. 27.9.2006, 12:14
korisarimi, надо было код показать, быстрее бы нашли smile

Автор: sergejzr 27.9.2006, 12:17
Я помоему об этом и так сразу же сказал smile Это обычный баг. С "разгона" редко когда правильно путь выставляется smile

Автор: korisarimi 28.9.2006, 12:11
На ошибках учаться. В будующем буду стараться быть повнимательней.
И буду при вопросах писать код полностью.

Автор: R.M. 28.9.2006, 14:53
Нет, ну не полностью а т часть которая не работает или которая может влиять на нерабочее состояние. Хотя если код небольшой можно и целиком.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)