2010-07-28 6 views
7

की स्थिति कैसे बदल सकता हूं डिफ़ॉल्ट रूप से रंगबॉक्स स्क्रीन पर लंबवत और क्षैतिज दोनों केंद्रित होता है। क्या इसे बदलने का कोई तरीका है, उदाहरण के लिए शीर्ष लंबवत से 10% और क्षैतिज केंद्रित?jQuery रंगबॉक्स: मैं कलरबॉक्स

उत्तर

15

यह शीर्ष स्थिति को पार कर जाएगी, और आप बाईं आदि के साथ भी ऐसा कर सकते हैं:

#colorbox { top: 100px !important; } 

10 ऊपर से% जटिल काम हो सकता है, आप एक ऑनलोड कॉलबैक में अपनी खुद की स्थिति तर्क लागू करने के लिए होगा हर बार रंगबॉक्स दिखाया जाता है, या रंगबॉक्स का कोड बढ़ाता है, लेकिन ऐसा करने का कोई त्वरित तरीका नहीं है।

अद्यतन

Colorbox अब यह करने के लिए एक अंतर्निहित विकल्प है:

$("a").colorbox({ top: 100, left: "50%" }) 

अद्यतन 2

आप colorbox करने के लिए बाध्य नहीं कर रहे हैं, मेरी सशक्त अनुशंसा qTip2 का उपयोग कर।
सुदूर बेहतर स्थिति हैंडलिंग (jQuery यूआई शैली), क्लीनर एचटीएमएल आउटपुट और आसान आईई < 8 समर्थन।

+0

: अब

if(typeof this.settings!="undefined"){ settings.left=this.settings.left; settings.top=this.settings.top; } if (settings.right !== false) {... 

, हम वस्तु स्थिति को बदल सकते हैं यह मेरे लिए काम नहीं करता है, यह सिर्फ बॉक्स के नीचे बंद हो जाता है। क्या यह दूसरों के लिए काम कर रहा है? – Josh

+1

@Josh कृपया अपना कोड अन्य प्रश्न में प्रदान करें ताकि समस्या निवारण करना संभव हो। यह विधि निश्चित रूप से काम करता है। – Razor

+0

यह मेरे लिए काम करता है। धन्यवाद – shaneburgess

-2
#cboxWrapper{ 
    position:fixed; 
    top:100px; 
    left:300px; 
    z-index:9999; 
    overflow:hidden; 
} 

इस शैली को अपने जेएसपी या अन्य वेब पृष्ठों में लागू करें।

1

जब आप रंग बॉक्स प्रारंभ करते हैं तो आप रंगीन सेटिंग का उपयोग कर सकते हैं। उदाहरण के लिए, तुम कहाँ क्लिक किया की एक ही ऊंचाई पर #colorbox है, इस का उपयोग (.colorbox उपयोगकर्ता परिभाषित colorbox वर्ग है):

$(".colorbox").each(function(i) { 
    var offset = $(this).offset(); 
    $(this).colorbox({top:offset.top}); 
}); 

तुम भी उदाहरण के लिए एक न्यूनतम शीर्ष सेट कर सकते हैं और #colorbox बनाने एक छोटे से अधिक

$(".colorbox").each(function(i) { 
    var offset = $(this).offset(); 
    var o = offset.top-200; 
    if(o<100){o=100;} 
    $(this).colorbox({top:o}); 
}); 
2

मैं फ्लाई पर colorbox स्थिति ओवरराइड करने के लिए था और निम्नलिखित समाधान नहीं मिला:

jquery.colorbox.js में, publicMethod.position समारोह सेटिंग्स का संचित संस्करण का उपयोग करें। फ्लाई पर सेटिंग्स। बाएं/शीर्ष को संशोधित करने के लिए, हमें ऑब्जेक्ट सेटिंग्स प्रॉपर्टी का उपयोग करने की आवश्यकता है। इस लक्ष्य को हासिल करने के लिए हमें settings.top/left this.settings.top/left द्वारा समारोह के भीतर (499 ln) की जगह की जरूरत है:

$.colorbox.settings.left=newLeft; 
$.colorbox.settings.top=newTop; 
$.colorbox.position(); 
संबंधित मुद्दे