سؤال

مرحبا Stackoverflow'ers ،
لديّ تطبيق (Flex) ، بنقرة زر واحدة ، تغيير حجم Div (في JavaScript) في أسفل الصفحة ويظهر موقعك في عرض Google Street فيه.

الأشياء هي أنه إذا فتحت المتصفح بنسبة 80 ٪ من العرض ، فانقر فوق الزر ثم زيادة النافذة إلى الحد الأقصى ، فلن يستغرق DIV 100 ٪ من العرض. لديّ وظيفة تسمى "onresize" على علامة جسم الصفحة ، لكن لا يبدو أنها تعمل. هنا هو الرمز:

...

function handleResize()
{
 document.getElementById('streetviewDiv').style.width='100%';
}

...

<body onResize="handleResize()">

كيف يمكنني تحقيق التوقيت التلقائي لمشاهدة الشارع؟ يجب أن يكون هناك معرف محدد لهذا الكائن حتى نتمكن من الحصول عليه بواسطة JavaScript ، لكنني لم أجده.

شكرًا

هل كانت مفيدة؟

المحلول

سيتعين عليك إظهار بعض العلامات و CSS. يمكن أن يكون هناك أي عدد من الأسباب التي تجعلك لا تحصل على تغيير الحجم. سلوك DIV العادي ، في غياب أي إعداد عرض ، للتوسع أفقيًا لملء الحاوية الأصل. لذلك إما أن يكون Div الخاص بك مقيدًا من قبل عنصر أولياء أو أي شيء آخر يحدث.

قد يحدث أيضًا أن يتم توسيع DIV ، لكن محتوياته المرئية ليست كذلك ، إذا كان كائن StreetView الخاص بك هو ما تتوقع التوسع فيه ولكنه لا.

نصائح أخرى

ما يلي يعمل بالنسبة لي. تحتاج إلى تضمين jquery-ui.

$("#streetViewDivId").resizable({handles: 'n,w,s,e', minWidth: 200, maxWidth: 600});    

$("#streetViewDivId").on( "resizestop", function( event, ui ) {

    google.maps.event.trigger(panorama, 'resize');

    console.log('streetview resize ended');
});

أعتقد أنه JavaScript النقي كما هو من V3 من واجهة برمجة التطبيقات.

هذا ساعدني:https://developers.google.com/maps/documentation/javaScript/Reference#streetViewPanorama

لا ينبغي على أي من المطورين أن يحفز هذا الحدث على البانوراما عندما يتغير DIV حجمه: google.maps.event.trigger (Panorama ، "تغيير الحجم").

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top