jQuery диалоговое расположение UI

Кажется, что большинство ваших действий - это Google / Facebook / Twitter SDK

Таким образом, осталось только одно действие com.reactnativenavigation.controllers.NavigationActivity

Ваш манифест должен выглядеть следующим образом:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.searchlike" platformBuildVersionCode="26" platformBuildVersionName="8.0.0">
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.READ_PROFILE" />
  <uses-permission android:name="android.permission.READ_CONTACTS" />
  <uses-permission android:name="android.permission.CAMERA" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
  <uses-permission android:name="android.permission.VIBRATE" />
  <uses-permission android:name="android.permission.WAKE_LOCK" />
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  <uses-permission android:name="android.permission.BLUETOOTH" />
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
  <uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" />
  <permission android:name="com.searchlike.permission.C2D_MESSAGE" android:protectionLevel="signature" />
  <uses-permission android:name="com.searchlike.permission.C2D_MESSAGE" />
  <uses-permission android:name="com.sec.android.provider.badge.permission.READ" />
  <uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />
  <uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS" />
  <uses-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT" />
  <uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE" />
  <uses-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE" />
  <uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT" />
  <uses-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE" />
  <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" />
  <uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS" />
  <uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS" />
  <uses-permission android:name="android.permission.READ_APP_BADGE" />
  <uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS" />
  <uses-permission android:name="com.oppo.launcher.permission.WRITE_SETTINGS" />
  <uses-permission android:name="me.everything.badger.permission.BADGE_COUNT_READ" />
  <uses-permission android:name="me.everything.badger.permission.BADGE_COUNT_WRITE" />
  <meta-data android:name="android.support.VERSION" android:value="25.3.1" />
  <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:name="com.searchlike.MainApplication" android:resizeableActivity="false" android:supportsRtl="true" android:theme="@style/AppTheme">
    <meta-data android:name="io.branch.sdk.BranchKey" android:value="key_live_opyq0ew8g6mMmHYn4ipBeamdutiwNotx" />
    <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/icon_notification" />
    <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/theme_blue" />
    <meta-data android:name="com.google.firebase.messaging.default_notification_channel_id" android:value="@string/default_notification_channel_id" />
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/fb_app_id" />
    <activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:label="@string/app_name" android:name="com.facebook.FacebookActivity" android:theme="@style/com_facebook_activity_theme" />
    <activity android:exported="true" android:name="com.facebook.CustomTabActivity">
      <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="@string/fb_login_protocol_scheme" />
      </intent-filter>
    </activity>
    <activity android:exported="false" android:name="com.facebook.react.devsupport.DevSettingsActivity" />
    <meta-data android:name="io.fabric.ApiKey" android:value="be5f8dca0dd9bc907c780c5063740e13dafb4a5b" />
    <service android:name="io.invertase.firebase.messaging.RNFirebaseBackgroundMessagingService" />
    <service android:name="io.invertase.firebase.messaging.RNFirebaseMessagingService">
      <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
      </intent-filter>
    </service>
    <service android:name="io.invertase.firebase.messaging.RNFirebaseInstanceIdService">
      <intent-filter>
        <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
      </intent-filter>
    </service>
    <receiver android:exported="true" android:name="io.branch.referral.InstallListener" />
    <receiver android:exported="true" android:name="com.kochava.base.ReferralReceiver" />
    <receiver android:enabled="true" android:exported="true" android:name="com.androidbroadcastreceiverforreferrer.ReferrerBroadcastReceiver" />
    <receiver android:exported="true" android:name="com.searchlike.ReferrerForwarder">
      <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
      </intent-filter>
    </receiver>
    <provider android:authorities="com.searchlike.provider" android:exported="false" android:grantUriPermissions="true" android:name="com.imagepicker.FileProvider">
      <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" />
    </provider>
    <activity android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:name="com.reactnativenavigation.controllers.NavigationActivity">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    <service android:exported="true" android:name="com.google.firebase.messaging.FirebaseMessagingService">
      <intent-filter android:priority="-500">
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
      </intent-filter>
    </service>
    <service android:name="com.google.firebase.components.ComponentDiscoveryService">
      <meta-data android:name="com.google.firebase.components:com.google.firebase.analytics.connector.internal.AnalyticsConnectorRegistrar" android:value="com.google.firebase.components.ComponentRegistrar" />
      <meta-data android:name="com.google.firebase.components:com.google.firebase.iid.Registrar" android:value="com.google.firebase.components.ComponentRegistrar" />
    </service>
    <receiver android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementReceiver" />
    <receiver android:enabled="true" android:exported="true" android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver" android:permission="android.permission.INSTALL_PACKAGES">
      <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
      </intent-filter>
    </receiver>
    <service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementService" />
    <service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementJobService" android:permission="android.permission.BIND_JOB_SERVICE" />
    <receiver android:exported="true" android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:permission="com.google.android.c2dm.permission.SEND">
      <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <category android:name="com.searchlike" />
      </intent-filter>
    </receiver>
    <service android:exported="true" android:name="com.google.firebase.iid.FirebaseInstanceIdService">
      <intent-filter android:priority="-500">
        <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
      </intent-filter>
    </service>
    <activity android:exported="false" android:name="com.google.android.gms.common.api.GoogleApiActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    <activity android:name="com.facebook.CustomTabMainActivity" />
    <provider android:authorities="com.searchlike.crashlyticsinitprovider" android:exported="false" android:initOrder="100" android:name="com.crashlytics.android.CrashlyticsInitProvider" />
    <provider android:authorities="com.searchlike.firebaseinitprovider" android:exported="false" android:initOrder="100" android:name="com.google.firebase.provider.FirebaseInitProvider" />
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
    <activity android:configChanges="orientation|screenSize" android:excludeFromRecents="true" android:exported="false" android:name="com.twitter.sdk.android.core.identity.OAuthActivity" />
    <provider android:authorities="com.searchlike.MarketingInitProvider" android:exported="false" android:name="com.facebook.marketing.internal.MarketingInitProvider" />
    <provider android:authorities="com.searchlike.FacebookInitProvider" android:exported="false" android:name="com.facebook.internal.FacebookInitProvider" />
    <receiver android:exported="false" android:name="com.facebook.CurrentAccessTokenExpirationBroadcastReceiver">
      <intent-filter>
        <action android:name="com.facebook.sdk.ACTION_CURRENT_ACCESS_TOKEN_CHANGED" />
      </intent-filter>
    </receiver>
  </application>
114
задан Wickethewok 13 April 2009 в 16:50
поделиться

9 ответов

Проверьте некоторые из плагинов jQuery для других реализаций диалога. Cluetip выглядит как многофункциональный плагин всплывающей подсказки / диалогового стиля. Четвертое демо звучит похоже на то, что вы пытаетесь сделать (хотя я вижу, что в нем нет точного варианта позиционирования, который вы ищете.)

13
ответ дан John 24 November 2019 в 02:29
поделиться

вместо того, чтобы делать чистый jquery, я бы сделал:

$(".mytext").mouseover(function() {
    x= $(this).position().left - document.scrollLeft
    y= $(this).position().top - document.scrollTop
    $("#dialog").dialog('option', 'position', [y, x]);
}

, если я правильно понимаю ваш вопрос, код, который вы Если вы располагаете диалог, как будто на странице нет прокрутки, вы хотите, чтобы он учитывал прокрутку. мой код должен сделать это.

6
ответ дан Dylan Beattie 24 November 2019 в 02:29
поделиться

На этой странице показано, как определить смещение прокрутки. У jQuery может быть похожая функциональность, но я не смог ее найти. Используя функцию getScrollXY, показанную на странице, вы сможете вычесть координаты x и y из результатов .position ().

4
ответ дан 24 November 2019 в 02:29
поделиться

После прочтения всех ответов, это наконец работало для меня:

$(".mytext").mouseover(function() {
    var x = jQuery(this).position().left + jQuery(this).outerWidth();
    var y = jQuery(this).position().top - jQuery(document).scrollTop();
    jQuery("#dialog").dialog('option', 'position', [x,y]);
});
42
ответ дан 24 November 2019 в 02:29
поделиться

Взяв пример Джаймина еще дальше, я придумал это для размещения элемента jQuery ui-dialog над элементом, который вы только что щелкнули (подумайте о «речевом пузыре»):

$('#myDialog').dialog( 'open' );
var myDialogX = $(this).position().left - $(this).outerWidth();
var myDialogY = $(this).position().top - ( $(document).scrollTop() + $('.ui-dialog').outerHeight() );
$('#myDialog').dialog( 'option', 'position', [myDialogX, myDialogY] );

Обратите внимание, что я «открываю» интерфейс -dialog перед вычислением относительных смещений ширины и высоты. Это связано с тем, что jQuery не может оценивать externalWidth () или outerHeight () без физического отображения элемента ui-dialog на странице.

Просто убедитесь, что для параметра 'modal' установлено значение false в параметрах диалогового окна, и все будет в порядке.

16
ответ дан 24 November 2019 в 02:29
поделиться

вы можете использовать $ (this) .offset () , позиция связана с родительским

2
ответ дан 24 November 2019 в 02:29
поделиться

немного поздно, но вы можете сделать это сейчас, используя $ j (object) .offset (). Left и .top соответственно.

4
ответ дан 24 November 2019 в 02:29
поделиться

В качестве альтернативы вы можете использовать jQuery UI Position утилиту , например

$(".mytext").mouseover(function() {
    var target = $(this);
    $("#dialog").dialog("widget").position({
       my: 'left',
       at: 'right',
       of: target
    });
}
109
ответ дан 24 November 2019 в 02:29
поделиться

Я не думаю, что облачко с речью правильно. Я немного подправил его, чтобы он работал и элемент открывался прямо по ссылке.

function PositionDialog(link) {
    $('#myDialog').dialog('open');
    var myDialogX = $(link).position().left;
    var myDialogY = $(link).position().top + $(link).outerHeight();
    $('#myDialog').dialog('option', 'position', [myDialogX, myDialogY]);
}
4
ответ дан 24 November 2019 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: