Se hace zoom al seleccionar campo en iphone

Tengo estos estilos para el campo buscar.

<input id="ftBoxd5f361b1a8094920b4bfb205604914b5" class="fulltext-search-box ui-autocomplete-input" type="text" size="20" accesskey="b" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true"> 
@media (max-width: 1023px) .header .head-content .container-busca .fulltext-search-box {     width: 59%;     position: absolute;     left: 18%;     top: 9px;     height: 65px; } 
.header .search-bar .fulltext-search-box{     width: 100%;     margin: 0;     height: 75px;     border-radius: 0;     font-size: 11.9px;     line-height: 100%;     color: #444;     padding: 0;     box-shadow: none;     border: none;     text-align: left; } 

lo que sucede es que solo en iphone al seleccionar el campo se hace un zoom, cosa que no pasa en otros dispositivos, entonces es para saber si se puede envitar el zoom

Agradezco su ayuda.

Mostrar Submenu y ocultar cuando se hace click en otro Submenu

Estoy intentando mostrar un submenu cuando se hace click en un item y que cuando le de click a otro Submenu este se debe ocultar y mostrar el Submenu del item que di click y ademas de eso debe eliminar las clase que se agrega llamada open y añadirla al item que di click, de igual manera si le doy click a un item y le vuelvo a dar click a ese mismo item, debe ocultar el submenu, pero no he podido lograrlo, tengo el siguiente código

$  (".subtitle .action").click(function(event){  $  (this).parents(".subtitle").toggleClass("open");  $  (this).parents(".subtitle").find(".submenu").slideToggle("slow");      $  (this).parents(".subtitle").find(".submenu").toggleClass("opacity");  return false; });
<!DOCTYPE html> <html> <head> 	<title>Test</title> 	<style type="text/css"> 		.submenu { 			display: none; 		} 		.opacity { 			opacity: 0.5; 		} 	</style> </head> <body> 	<ul> 		<li class="subtitle"> 			<a href="#" class="action">Inicio</a> 			<ul class="submenu"> 				<li> 					<a href="#">Inicio 1</a> 				</li> 				<li> 					<a href="#">Inicio 2</a> 				</li> 				<li> 					<a href="#">Inicio 3</a> 				</li> 			</ul> 		</li> 		<li class="subtitle"> 			<a href="#" class="action">Nosotros</a> 			<ul class="submenu"> 				<li> 					<a href="#">Nosotros 1</a> 				</li> 				<li> 					<a href="#">Nosotros 2</a> 				</li> 				<li> 					<a href="#">Nosotros 3</a> 				</li> 			</ul>  		</li> 		<li class="subtitle"> 			<a href="#" class="action">Contacto</a> 			<ul class="submenu"> 				<li> 					<a href="#">Contacto 1</a> 				</li> 				<li> 					<a href="#">Contacto 2</a> 				</li> 				<li> 					<a href="#">Contacto 3</a> 				</li> 			</ul> 		</li> 		<li class="subtitle"> 			<a href="#" class="action">Empresa</a> 			<ul class="submenu"> 				<li> 					<a href="#">Empresa 1</a> 				</li> 				<li> 					<a href="#">Empresa 2</a> 				</li> 				<li> 					<a href="#">Empresa 3</a> 				</li> 			</ul> 		</li> 	</ul> 	<script src="https://code.jquery.com/jquery-3.0.0.min.js"></script> </body> </html>

¿Alguien me puede explicar que hace este bucle?

Necesito sabes qué hace este código, lo encontré en un ejemplo de programación php y no entiendo para que sirve y que finalidad tiene y cómo lo puedo usar.

function view($  vista, $  datos) {     foreach ($  datos as $  id_assoc => $  value) {         $  {$  id_assoc} = $  value;     }     require_once 'core/HelpVistas.php';     $  helper = new HelpVistas();     require_once 'view/' . $  vista . 'View.php'; } 

Qué hace realmente este codigo javascript

Encontré un pequeño trozo de código, quita una parte de un link al cargar la página (eso noté) pero me da miedo ponerlo en mi web ya que de pronto puede dañarla o quitarme de la busqueda de google… quiero entender bien qué es lo que hace y si todos los navegadores pueden leerlo, además de si existe peligro de tirarme la página

<script type='text/javascript'> var uri = window.location.toString();      if (uri.indexOf("%3D","%3D") > 0) {          var clean_uri = uri.substring(0, uri.indexOf("%3D"));         window.history.replaceState({}, document.title, clean_uri);     }      var uri = window.location.toString();     if (uri.indexOf("%3D%3D","%3D%3D") > 0) {         var clean_uri = uri.substring(0, uri.indexOf("%3D%3D"));         window.history.replaceState({}, document.title, clean_uri);     }      var uri = window.location.toString();      if (uri.indexOf("&m=0","&m=0") > 0) {         var clean_uri = uri.substring(0, uri.indexOf("&m=0"));         window.history.replaceState({}, document.title, clean_uri);     }      var uri = window.location.toString();      if (uri.indexOf("?m=0","?m=0") > 0) {         var clean_uri = uri.substring(0, uri.indexOf("?m=0"));          window.history.replaceState({}, document.title, clean_uri);     }  </script> 

Cambiar color de un div cuando se hace scroll js

Tengo un nav con el id “navbar”. Que quiero que al hacer scroll hacia abajo, cambie de color por lo cual tengo el siguient metodo:

window.addEventListener("DOMContentLoaded" , () => {         var element = document.getElementById("navbar");         document.addEventListener("scroll", () => {         element.setAttribute("style","background-color: rgba(255,255,255,10)");         });     }); 

Funciona, si, pero no se me ocurre la forma de hacer que cambie el color en una cierta cantidad de pixeles, al igual que en ves de hacer un setAttribute haga una incersion de una clase al elemento PD: es js puro

¿Como se hace para relacionar con el método join relacionar mas de dos tablas en un controlador?

Tengo en mi proyecto que se llama proyectolaravel una vez que he creado la migración de la tabla productos con categoría, creó un controlador con el comando de Laravel php artisan make:controller ProductoController , pero en el método index del controlador de Productos (ProductosController.php) que esta en la ruta (/app/Http/Controllers/ProductoController.php), estoy usando la función join en el index para relacionar dos tablas, que adjunto mi controlador (ProductoController.php)

<?php  namespace App\Http\Controllers;  use Illuminate\Http\Request; use App\Http\Resources\ProductosResource; use App\Http\Controllers\Controller; use App\Productos;  class ProductoController extends Controller {     public function index(Request $  request)     {         //         if(!$  request->ajax()) return redirect('/');         $  buscar= $  request->buscar;         $  criterio= $  request->criterio;          if($  buscar==''){              $  productos= Productos::join('categorias','productos.idcategoria','=','categorias.id')             ->select('productos.id','productos.idcategoria','productos.codigo','productos.nombre','categorias.nombre as nombre_categorias','productos.precio_venta','productos.stock','productos.condicion')             ->orderBy('productos.id', 'desc')->paginate(3);           } else{              $  productos= Productos::join('categorias','productos.idcategoria','=','categorias.id')             ->select('productos.id','productos.idcategoria','productos.codigo','productos.nombre','categorias.nombre as nombre_categorias','productos.precio_venta','productos.stock','productos.condicion')             ->where('productos'.$  criterio. 'like', '%'. $  buscar . '%')             ->orderBy('productos.id', 'desc')->paginate(3);         }                   //return $  categorias;         return[              'pagination' => [             'total'           => $  productos->total(),             'current_page'    => $  productos->currentPage(),             'per_page'        => $  productos->perPage(),             'last_page'       => $  productos->lastPage(),             'from'            => $  productos->firstItem(),             'to'              => $  productos->lastitem(),              ],              'productos' => productos         ];               }            /**      * Store a newly created resource in storage.      *      * @param  \Illuminate\Http\Request  $  request      * @return \Illuminate\Http\Response      */     public function store(Request $  request)     {         //         if(!$  request->ajax()) return redirect('/');         $  producto= new Productos();         $  producto->idcategoria = $  request->idcategoria;         $  producto->codigo = $  request->codigo;         $  producto->nombre = $  request->nombre;         $  producto->precio_venta = $  request->precio_venta;         $  producto->stock = $  request->stock;         $  producto->condicion= '1';         $  producto->save();     }       /**      * Update the specified resource in storage.      *      * @param  \Illuminate\Http\Request  $  request      * @param  int  $  id      * @return \Illuminate\Http\Response      */     public function update(Request $  request)     {         //         if(!$  request->ajax()) return redirect('/');         $  producto= Productos::findOrFail($  request->id);         $  producto->idcategoria = $  request->idcategoria;         $  producto->codigo = $  request->codigo;         $  producto->nombre = $  request->nombre;         $  producto->precio_venta = $  request->precio_venta;         $  producto->stock = $  request->stock;         $  producto->condicion= '1';         $  producto->save();     }      public function desactivar(Request $  request)     {         //         if(!$  request->ajax()) return redirect('/');         $  producto= Productos::findOrFail($  request->id);         $  producto->condicion= '0';         $  producto->save();     }      public function activar(Request $  request)     {         //         if(!$  request->ajax()) return redirect('/');         $  producto= Productos::findOrFail($  request->id);         $  producto->condicion= '1';         $  producto->save();     } }

Mi pregunta es la siguiente ¿como hacer para relacionar mas de 2 tablas con la función join como lo pueden observar en mi controlador ProductoController.php (en el método index); si hubiera que relacionar mas de dos tablas con la función join?

Por qué el segue ‘entrar’ se hace dos veces?

Cuando presiono el botón ‘ingresar’, mi codigo hace el segue ‘entrar’ dos veces y la consola muestra ‘Entró’ y ‘No estamos logueados. Intenté escribiendo la llamada a la funcion sesionActiva() en el ViewDidLoad() pero no funcionó. Quiero que el segue lo realice una sola vez.

import UIKit import FirebaseAuth

class IniciarSesion: UIViewController {

//OUTLETS. @IBOutlet weak var correo: UITextField! @IBOutlet weak var password: UITextField!  //FUNCIONES. //MARK: ViewDidLoad(). override func viewDidLoad() {     super.viewDidLoad()      correo.text = ""     password.text = "" }  //MARK: ViewDidAppear(). override func viewDidAppear(_ animated: Bool) {     super.viewDidAppear(animated)      correo.text = ""     password.text = ""      sesionActiva() }  //Funciones cuando se toca el botón 'Iniciar Sesión'. @IBAction func ingresar(_ sender: UIButton) {     if correo.text != "" && password.text != "" {         guard let email = correo.text else { return }         guard let contraseña = password.text else { return }         inicioSesion(correo: email, pass: contraseña)     } else {         let alerta = UIAlertController(title: "Atención", message: "Ingrese correo electrónico y contraseña", preferredStyle: .alert)         let aceptar = UIAlertAction(title: "Aceptar", style: .default, handler: nil)         alerta.addAction(aceptar)         present(alerta, animated: true, completion: nil)     } }  //Inicio sesion con mail y contraseña ingresada, autenticando en Firebase. func inicioSesion(correo: String, pass: String){     Auth.auth().signIn(withEmail: correo, password: pass){ (user, error) in         if user != nil {             print("Entró")             self.performSegue(withIdentifier: "entrar", sender: self)         } else {             if let error = error?.localizedDescription {                 print("Error en Firebase", error)             } else {                 print("Error en el código")             }         }     } }  //Comprueba si la sesion estaba iniciada. func sesionActiva(){     Auth.auth().addStateDidChangeListener { (auth, error) in         if error == nil {             print("No estamos logueados")         } else {             print("Si estamos logueados")             self.performSegue(withIdentifier: "entrar", sender: self)         }     } } 

}

Estoy utilizando Firebase para hacer un sistema de login. Funciona correctamente, pero estoy teniendo ese problema nomás.

Error: no hace Update el valor correcto y solo hace update al primer valor de la lista en la tabla

Tengo una tabla Cuentas con la lista de nombres:

idCuenta Nombre 1        cuenta1 2        cuenta2 

Mi codigo muestra la lista de

    @if ($  Cuentas->count())     @foreach($  Cuentas->where('idCuentas', $  UsuarioDeCuentas->idCuentaU) as $  CuentasHeaderList)      <li>      <a class="dropdown-item"   <--- la clase que muestra el menu        onclick="event.preventDefault();    <--- al hacer click submit        document.getElementById('CuentasHeaderListUpdateForm').submit();">        {{$  CuentasHeaderList->nombre}} <--- el valor que quiero guardar                              </a>  <form id="CuentasHeaderListUpdateForm"        action="{{route('CuentasHeaderListUpdate', Auth::user()->id)}}"        method="POST"        style="display: none;"> <--- este es el form dentro de mi menu desplegable donde asigno la ruta y id del usuario           @method('PATCH') <-- tipo de metodo y token de segurida         @csrf  <input type="hidden" name="ultima_cuenta" value="{{$  CuentasHeaderList->nombre}}"/>   </form>     </li>      @endforeach     @endif 

esta es mi ruta :

Route::PATCH('/CuentasHeaderListUpdate/{id}', 'HomeController@CuentasHeaderListUpdate')->name('CuentasHeaderListUpdate'); 

este es mi controlador :

//cuenta     public function CuentasHeaderListUpdate(Request $  request, $  id)     {         $  validatedData = $  request->validate([          'ultima_cuenta' => 'required|max:255',         ]);  <--- encierro en una variable los nombres (con algo de validacion)         Users::where('id',$  id)->update($  validatedData); <-- hago el update segun id          return redirect('home');<--- y regreso a mi pagina      } 

Mi prilema es que sin importar la opcion que elija en el <select> siempre manda el valor de asta arriba cuenta1 , lo cual no entiendo $ CuentasHeaderList->nombre esta dentro de la logica que le dice el valor es 1 o 2