• Страница 1 из 1
  • 1
Модератор форума: JonMagon  
Функция стала не явно возвращать undefined
Игорь_
Сообщений: 178
Репутация: 40

Сообщение # 1 | 23:26:19
Проблема в том, что сначала функция отрабатывает как надо и возвращает результат (проверял с помощью return), но потом не явно возвращает undefined и в результат записывается этот самый undefined. Как заставить функцию выбрать явный результат?


Не знаю языки программирования, не знаю css. И вообще ничего не знаю.
Мои шаблоны для uCoz
Miss_Esq
Сообщений: 13859
Репутация: 4159
Уровень замечаний:

Сообщение # 2 | 23:29:24
А что за .... на пальцах

Игорь_
Сообщений: 178
Репутация: 40

Сообщение # 3 | 23:35:47
Если вам не сложно. Зайдите к примеру на эту страницу http://multitak.ru/publ/4-1-0-13#4 для вас я уже выбрал серию это будет серия 4 и она выберется. Но зайдите http://multitak.ru/publ/4-1-0-13#21 это серии не существует, скрипт должен вывести вам первую серию. Но он ее не выберет, вернет undefined хотя отработает как надо.


Не знаю языки программирования, не знаю css. И вообще ничего не знаю.
Мои шаблоны для uCoz
Сообщение отредактировал Игорь_ - Вторник, 27 Май 2014, 23:47:26
alexandr_riabokon
Сообщений: 48
Репутация: 8

Сообщение # 4 | 06:27:00
Игорь_, мб все же функцию предоставите?

askwiki.ru - найди ответ на свой вопрос.
Игорь_
Сообщений: 178
Репутация: 40

Сообщение # 5 | 08:51:11

Код
function mvideo(video) {
jwplayer("customplayer").setup({
'flashplayer': "/pl/player.swf",
'skin': '/pl/sl.xml',
'bufferlength': '4',
'allowfullscreen':'true',
'allowscriptaccess':'always',
'logo.file': '/demonewtheme/img/logo.png',
'logo.position':'top-right',
'plugins': 'timeslidertooltipplugin-3',
'timeslidertooltipplugin.fontweight': 'bold',
  'timeslidertooltipplugin.fontcolor': '#DDD',
  'timeslidertooltipplugin.image': '/pl/tooltip.png',
  'timeslidertooltipplugin.fontsize': '11',
  'timeslidertooltipplugin.font': 'Helvetica',
'stretching': 'uniform',
             file: "http://"+video+".mp4",
             image: "http://"+video+".jpeg",
             width: 780,
             height: 430,
          abouttext: 'multitak',
          aboutlink: 'http://multitak.ru',
             events:{
             onError: function() {
if(video.search(/uploaded\/\d{1,2}\//) > -1){
video = video.replace(/\d{1,2}\//,'');
jwplayer().load({file: "http://"+video+".mp4"}).play();
}else{
ksetNum = video.match(/\d{2}\//)
if(ksetNum[0].indexOf(0) == 0) ksetNum = ksetNum[0].slice(1,3);
video = video.replace('uploaded/','uploaded/'+ksetNum)
jwplayer().load({file: "http://"+video+".mp4"}).play();
}}
                 }
             });
}

if (!!location.hash) {
     var str = location.hash.substr(1);
     var p = $('#videolist li');
if(str>noticedEpizode||$(p[str-1]).attr('alt') == 'undefined'){
         $("#videolist li").removeClass();mvideo($("#videolist li:first").attr('alt'));$("#videolist li:first").addClass("play");
}
mvideo($(p[str-1]).attr('alt'));$(p[str-1]).addClass('play');
}else{
     $("#videolist li:first").addClass("play");
     mvideo($("#videolist li:first").attr('alt'));
}


Вот часть того самого кода


Не знаю языки программирования, не знаю css. И вообще ничего не знаю.
Мои шаблоны для uCoz
Nexxus
Сообщений: 289
Репутация: 66

Сообщение # 6 | 23:01:30
Цитата Игорь_ ()
if (!!location.hash) {

Выделенное порадовало smile

Попробуйте так:
Код
if(location.hash){
  var str=location.hash.split("#")[1].match(/\d+/),p=$('#videolist li');
  if(str>noticedEpizode|| typeof $(p[str-1]).attr('alt')=="undefined"){
   $("#videolist li").removeClass();
   mvideo($("#videolist li:first").attr('alt'));
   $("#videolist li:first").addClass("play");
  }else{
   mvideo($(p[str-1]).attr('alt'));
   $(p[str-1]).addClass('play');
  };
}else{
  $("#videolist li:first").addClass("play");
  mvideo($("#videolist li:first").attr('alt'));
};
Игорь_
Сообщений: 178
Репутация: 40

Сообщение # 7 | 12:52:24
Код
!!location.hash то же самое, что location.hash != "";
Прикрепления: 6228414.jpg (44.7 Kb)


Не знаю языки программирования, не знаю css. И вообще ничего не знаю.
Мои шаблоны для uCoz
Сообщение отредактировал Игорь_ - Четверг, 29 Май 2014, 12:58:08
Nexxus
Сообщений: 289
Репутация: 66

Сообщение # 8 | 16:47:08
Игорь_,
Код
"if(location.hash)" === "if(!!location.hash)"

smile
Игорь_
Сообщений: 178
Репутация: 40

Сообщение # 9 | 21:09:22
location.hash возвращает строку, а if отрабатывает только boolean типы. чтобы отработать location.hash нужно проверить ее на истину. Но дело не в location.hash, а в том, почему в случае неверно выбранной серии возвращает undefined хотя и отрабатывает функция как надо.

Добавлено (29 Май 2014, 21:09:22)
---------------------------------------------
Всееее. Исправил проблему. тему можно закрывать)



Не знаю языки программирования, не знаю css. И вообще ничего не знаю.
Мои шаблоны для uCoz
Nexxus
Сообщений: 289
Репутация: 66

Сообщение # 10 | 13:52:40
Игорь_, проблема была в этом:
Код
var str = location.hash.substr(1);

?

Добавлено (30 Май 2014, 13:52:40)
---------------------------------------------
Оффтоп

Игорь_
Сообщений: 178
Репутация: 40

Сообщение # 11 | 18:38:10
Цитата Nexxus ()
Игорь_, проблема была в этом: var str = location.hash.substr(1);


Нет не в этом. Там все правильно. Проблема была в том, что после условия. Стоял код плеера. И получается 1 раз норм все было. А второй раз он выбирал серию которой нет. Я просто поставил то что под условием вперед.

Код
if(str>noticedEpizode||$(p[str-1]).attr('alt') == 'undefined'){  
          $("#videolist li").removeClass();mvideo($("#videolist li:first").attr('alt'));$("#videolist li:first").addClass("play");  
}  
mvideo($(p[str-1]).attr('alt'));$(p[str-1]).addClass('play');


Не знаю языки программирования, не знаю css. И вообще ничего не знаю.
Мои шаблоны для uCoz
Nexxus
Сообщений: 289
Репутация: 66

Сообщение # 12 | 18:43:31
Игорь_, ясно.
  • Страница 1 из 1
  • 1
Поиск: