mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
Fixed search timer, can search with enter, can press ESC to quit search
This commit is contained in:
199
js/search.js
199
js/search.js
@@ -1,102 +1,113 @@
|
||||
var old_input="";
|
||||
var timer = 0;
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
{
|
||||
|
||||
$("#search").focus();
|
||||
$("#search").focus();
|
||||
|
||||
$('#base').bind("keyup keypress", function(e) {
|
||||
var code = e.keyCode || e.which;
|
||||
if (code == 13) {
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
var old_input="";
|
||||
$(".search_input").focus();
|
||||
setTimeout(function(){
|
||||
$(".search_input").keyup(function()
|
||||
$('#base').bind("keyup keypress", function(e) {
|
||||
var code = e.keyCode || e.which;
|
||||
if (code == 13) {
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
$(".search_input").focus();
|
||||
$(".search_input").keyup(function(event) {
|
||||
var search_input = $(this).val();
|
||||
if(search_input.length < 3){$("#results").html("");}
|
||||
if(event.keyCode == 13){
|
||||
search(search_input);
|
||||
}else if(event.keyCode == 27){
|
||||
$("#results").html("");
|
||||
}else{
|
||||
timer=100;
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
setInterval(function(){
|
||||
timer--;
|
||||
if(timer==0){
|
||||
search($(".search_input").val());
|
||||
}
|
||||
}, 1);
|
||||
});
|
||||
|
||||
|
||||
function search(search_input){
|
||||
|
||||
|
||||
$("#results").html('');
|
||||
if(search_input != ""){
|
||||
var keyword= encodeURIComponent(search_input);
|
||||
|
||||
var yt_url='http://gdata.youtube.com/feeds/api/videos?q='+keyword+'&format=5&orderby=relevance&max-results=25&v=2&alt=jsonc';
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: yt_url,
|
||||
dataType:"jsonp",
|
||||
success: function(response)
|
||||
{
|
||||
var search_input = $(this).val();
|
||||
if(search_input.length < 3){
|
||||
$("#results").html("");
|
||||
if(response.data.items)
|
||||
{
|
||||
$.each(response.data.items, function(i,data)
|
||||
{
|
||||
if(data.duration > 720 && longS == 0){return;}
|
||||
if(data["category"] == "Music" || music == 1){
|
||||
var video_title=encodeURIComponent(data.title).replace(/'/g, "\\\'");
|
||||
var views=data.viewCount;
|
||||
var video_thumb = "http://i.ytimg.com/vi/"+data.id+"/default.jpg";
|
||||
var length = Math.floor(data.duration/60)+":"+(data.duration-Math.floor(data.duration / 60)*60);
|
||||
var finalhtml="<div id='result' class='result' onclick=\"submit('"+data.id+"','"+video_title+"');\">"+
|
||||
"<img src='"+video_thumb+"' class='thumb'>"+
|
||||
"<div id='title'>"+data.title+""+
|
||||
"<div class='result_info'>"+views+" views • "+length+"</div></div></div>";
|
||||
//+data.uploader+" • "+
|
||||
$("#results").append(finalhtml);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if(search_input != old_input){
|
||||
old_input=search_input;
|
||||
$("#results").html('');
|
||||
if(search_input != ""){
|
||||
var keyword= encodeURIComponent(search_input);
|
||||
|
||||
var yt_url='http://gdata.youtube.com/feeds/api/videos?q='+keyword+'&format=5&orderby=relevance&max-results=25&v=2&alt=jsonc';
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: yt_url,
|
||||
dataType:"jsonp",
|
||||
success: function(response)
|
||||
{
|
||||
if(response.data.items)
|
||||
{
|
||||
$.each(response.data.items, function(i,data)
|
||||
{
|
||||
if(data.duration > 720 && longS == 0){return;}
|
||||
if(data["category"] == "Music" || music == 1){
|
||||
var video_title=encodeURIComponent(data.title).replace(/'/g, "\\\'");
|
||||
var views=data.viewCount;
|
||||
var video_thumb = "http://i.ytimg.com/vi/"+data.id+"/default.jpg";
|
||||
var length = Math.floor(data.duration/60)+":"+(data.duration-Math.floor(data.duration / 60)*60);
|
||||
var finalhtml="<div id='result' class='result' onclick=\"submit('"+data.id+"','"+video_title+"');\">"+
|
||||
"<img src='"+video_thumb+"' class='thumb'>"+
|
||||
"<div id='title'>"+data.title+""+
|
||||
"<div class='result_info'>"+views+" views • "+length+"</div></div></div>";
|
||||
//+data.uploader+" • "+
|
||||
$("#results").append(finalhtml);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#video").html("<div id='no'>No Video</div>");
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}, 300);
|
||||
});
|
||||
|
||||
function submit(id,title){
|
||||
console.log($.ajax({
|
||||
type: "GET",
|
||||
url: "php/change.php",
|
||||
async: false,
|
||||
data: "v="+id+"&n="+title+"&pass="+adminpass,
|
||||
success: function() {
|
||||
console.log("added "+id);
|
||||
document.getElementById("search").value = "";
|
||||
$("#search").addClass("success");
|
||||
$("#results").html('');
|
||||
//updateList();
|
||||
},
|
||||
error: function(){
|
||||
console.log("error in adding");
|
||||
document.getElementById("search").value = "";
|
||||
$("#search").addClass("error");
|
||||
$("#results").html('');
|
||||
}
|
||||
}).responseText);
|
||||
|
||||
$("#search").focus();
|
||||
|
||||
setTimeout(function(){
|
||||
$("#search").removeClass("success");
|
||||
$("#search").removeClass("error");
|
||||
},1500);
|
||||
updateList();
|
||||
else{ $("#video").html("<div id='no'>No Video</div>");}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function submit(id,title){
|
||||
console.log($.ajax({
|
||||
type: "GET",
|
||||
url: "php/change.php",
|
||||
async: false,
|
||||
data: "v="+id+"&n="+title+"&pass="+adminpass,
|
||||
success: function() {
|
||||
console.log("added "+id);
|
||||
document.getElementById("search").value = "";
|
||||
$("#search").addClass("success");
|
||||
$("#results").html('');
|
||||
//updateList();
|
||||
},
|
||||
error: function(){
|
||||
console.log("error in adding");
|
||||
document.getElementById("search").value = "";
|
||||
$("#search").addClass("error");
|
||||
$("#results").html('');
|
||||
}
|
||||
}).responseText);
|
||||
|
||||
$("#search").focus();
|
||||
|
||||
setTimeout(function(){
|
||||
$("#search").removeClass("success");
|
||||
$("#search").removeClass("error");
|
||||
},1500);
|
||||
updateList();
|
||||
}
|
||||
|
||||
// if(reply=="added"){$("#search").removeClass('success'); $("#search").addClass('success');}
|
||||
|
||||
Reference in New Issue
Block a user