Все работает так, как я хочу, но я чувствую себя лишним. Мне нужно загрузить еще 100 видео, и я чувствую, что есть лучший способ, чем продолжать создавать функции: девяностодевять(), однасотня().
Javascript
<script>
function first(){
$('#videoObj').remove();
$('<iframe id = "videoObj" width = "1280 " height = "720" src = "http://www.mysiteetisym.com/videos/KidsOnTrampoline.mp4" frameborder = "0" allowfullscreen></iframe>').prependTo('#vholder');
}
function second(){
$('#videoObj').remove();
$('<iframe id = "videoObj" width = "1280" height = "720" src = "http://www.mysiteetisym.com/videos/WaterFight.mp4" frameborder = "0" allowfullscreen></iframe>').prependTo('#vholder');
}
function third(){
$('#videoObj').remove();
$('<iframe id = "videoObj" width = "1280 " height = "720" src = "http://www.mysiteetisym.com/videos/FourWheelingRace.mp4" frameborder = "0" allowfullscreen></iframe>').prependTo('#vholder');
}
function fourth(){
$('#videoObj').remove();
$('<iframe id = "videoObj" width = "1280 " height = "720" src = "http://www.mysiteetisym.com/videos/CookingWithDebbie.mp4" frameborder = "0" allowfullscreen></iframe>').prependTo('#vholder');
}
</script>
HTML
<body>
<div>
<input class = "videoBtns" id = "firstVideo" type = "image" src = "images/KidsOnTrampoline.jpg" onClick = "first()" />
<input class = "videoBtns" id = "secondVideo" type = "image" src = "images/WaterFight.jpg" onClick = "second()" />
<input class = "videoBtns" id = "thirdVideo" type = "image" src = "images/FourWheelingRace.jpg" onClick = "third()" />
<input class = "videoBtns" id = "fourthVideo" type = "image" src = "images/CookingWithDebbie.jpg "onClick = "fourth()" />
</div>
<div id = "vholder"></div>
</body>
@Pointy - это моя цель - превратить все в одну функцию. В данный момент я изучаю файлы JSON, и мне кажется, что загружать данные из них эффективно. Я просто человек проб и ошибок, который достиг своей последней ошибки.
@Маркус, для этого тебе не нужен JSON, посмотри на данные ответы
@iArcadia - я знаю, что JSON не нужен. Я изучаю это, потому что у меня есть много атрибутов с каждым видео. Имя, местоположение, люди, время, дата и т. д. Моя конечная цель — щелкнуть .jpg видео и весь этот список метаданных под видео.
Нет проблем, я неправильно понял ваш комментарий



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Передайте src в качестве параметра и добавьте его в функцию к iframe. Вызывать только одну функцию
function f(e){
$('#videoObj').remove();
$('<iframe id = "videoObj" width = "1280 " height = "720" src=http://www.mysiteetisym.com/videos/'+e+'.mp4 frameborder = "0" allowfullscreen></iframe>').prependTo('#vholder');
}<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<div>
<input class = "videoBtns" id = "firstVideo" type = "image" src = "images/KidsOnTrampoline.jpg" onClick = "f('KidsOnTrampoline')" />
<input class = "videoBtns" id = "secondVideo" type = "image" src = "images/WaterFight.jpg" onClick = "f('WaterFight')" />
<input class = "videoBtns" id = "thirdVideo" type = "image" src = "images/FourWheelingRace.jpg" onClick = "f('FourWheelingRace')" />
<input class = "videoBtns" id = "fourthVideo" type = "image" src = "images/CookingWithDebbie.jpg "onClick = "f('CookingWithDebbie')" />
</div>
<div id = "vholder"></div>
</body>Хотя это и не существенное изменение, вы можете просто увидеть, что большая часть URL-адреса одинакова для всех видео.
@ k97513 - Работает, спасибо! Есть ли другой способ сделать кнопки ввода более эффективными? Я сталкиваюсь с той же проблемой написания 100 строк кода для каждого видео.
Попробуйте использовать событие click с dom вместо встроенного
$(document).on('click','.videoBtns',function(){
$('#videoObj').remove();
var vid = $(this).attr('src').toString().match(//(.*)\./g)[0];
console.info("http://www.mysiteetisym.com/videos"+vid+
"mp4")
$('<iframe id = "videoObj" width = "1280 " height = "720" src = "http://www.mysiteetisym.com/videos'+vid+'mp4" frameborder = "0" allowfullscreen></iframe>').prependTo('#vholder');
})<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<input class = "videoBtns" id = "firstVideo" type = "image" src = "images/KidsOnTrampoline.jpg" />
<input class = "videoBtns" id = "secondVideo" type = "image" src = "images/WaterFight.jpg" />
<input class = "videoBtns" id = "thirdVideo" type = "image" src = "images/FourWheelingRace.jpg" />
<input class = "videoBtns" id = "fourthVideo" type = "image" src = "images/CookingWithDebbie.jpg " />
</div>
<div id = "vholder"></div>
Как насчет одной функции, которая принимает параметр имени видео?